1. 01 Jul, 2009 5 commits
    • Tejun Heo's avatar
      alpha: fix percpu build breakage · b01e8dc3
      Tejun Heo authored
      alpha percpu access requires custom SHIFT_PERCPU_PTR() definition for
      modules to work around addressing range limitation.  This is done via
      generating inline assembly using C preprocessing which forces the
      assembler to generate external reference.  This happens behind the
      compiler's back and makes the compiler think that static percpu variables
      in modules are unused.
      
      This used to be worked around by using __unused attribute for percpu
      variables which prevent the compiler from omitting the variable; however,
      recent declare/definition attribute unification change broke this as
      __used can't be used for declaration.  Also, in the process,
      PER_CPU_ATTRIBUTES definition in alpha percpu.h got broken.
      
      This patch adds PER_CPU_DEF_ATTRIBUTES which is only used for definitions
      and make alpha use it to add __used for percpu variables in modules.  This
      also fixes the PER_CPU_ATTRIBUTES double definition bug.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Tested-by: default avatarmaximilian attems <max@stro.at>
      Acked-by: default avatarIvan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b01e8dc3
    • Stephen Rothwell's avatar
      fbdev: work around old compiler bug · 15e32524
      Stephen Rothwell authored
      When building with a 4.1.x compiler on powerpc64 (at least) we get this
      error:
      
      drivers/video/logo/logo_linux_mono.c:81: error: logo_linux_mono causes a section type conflict
      
      This was introduced by commit ae52bb23
      ("fbdev: move logo externs to header file").  This is a partial revert of
      that commit sufficient to not hit the compiler bug.
      
      Also convert _clut arrays from __initconst to __initdata.
      
      Sam said:
      
        Al analysed this some time ago.  When we say something is const then
        _sometimes_ gcc annotate the section as const(?) - sometimes not.  So if
        we have two variables/functions annotated __*const and gcc decides to
        annotate the section const only in one case we get a section type
        conflict.
      Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
      Cc: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      15e32524
    • Joe Perches's avatar
      MAINTAINERS: update EDAC-I82975X · c15e504b
      Joe Perches authored
      As per Ranganathan's request.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Cc: Ranganathan Desikan <ravi@jetztechnologies.com>
      Cc: Arvind R. <arvind@jetztechnologies.com>
      Cc: Doug Thompson <norsk5@yahoo.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c15e504b
    • Heiko Carstens's avatar
      gcov: fix __ctors_start alignment · 2a2325e6
      Heiko Carstens authored
      The ctors section for each object file is eight byte aligned (on 64 bit).
      However the __ctors_start symbol starts at an arbitrary address dependent
      on the size of the previous sections.
      
      Therefore the linker may add some zeroes after __ctors_start to make sure
      the ctors contents are properly aligned.  However the extra zeroes at the
      beginning aren't expected by the code.  When walking the functions
      pointers contained in there and extra zeroes are added this may result in
      random jumps.  So make sure that the __ctors_start symbol is always
      aligned as well.
      
      Fixes this crash on an allyesconfig on s390:
      
      [    0.582482] Kernel BUG at 0000000000000012 [verbose debug info unavailable]
      [    0.582489] illegal operation: 0001 [#1] SMP DEBUG_PAGEALLOC
      [    0.582496] Modules linked in:
      [    0.582501] CPU: 0 Tainted: G        W  2.6.31-rc1-dirty #273
      [    0.582506] Process swapper (pid: 1, task: 000000003f218000, ksp: 000000003f2238e8)
      [    0.582510] Krnl PSW : 0704200180000000 0000000000000012 (0x12)
      [    0.582518]            R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3
      [    0.582524] Krnl GPRS: 0000000000036727 0000000000000010 0000000000000001 0000000000000001
      [    0.582529]            00000000001dfefa 0000000000000000 0000000000000000 0000000000000040
      [    0.582534]            0000000001fff0f0 0000000001790628 0000000002296048 0000000002296048
      [    0.582540]            00000000020c438e 0000000001786000 0000000002014a66 000000003f223e60
      [    0.582553] Krnl Code:>0000000000000012: 0000                unknown
      [    0.582559]            0000000000000014: 0000                unknown
      [    0.582564]            0000000000000016: 0000                unknown
      [    0.582570]            0000000000000018: 0000                unknown
      [    0.582575]            000000000000001a: 0000                unknown
      [    0.582580]            000000000000001c: 0000                unknown
      [    0.582585]            000000000000001e: 0000                unknown
      [    0.582591]            0000000000000020: 0000                unknown
      [    0.582596] Call Trace:
      [    0.582599] ([<0000000002014a46>] kernel_init+0x622/0x7a0)
      [    0.582607]  [<0000000000113e22>] kernel_thread_starter+0x6/0xc
      [    0.582615]  [<0000000000113e1c>] kernel_thread_starter+0x0/0xc
      [    0.582621] INFO: lockdep is turned off.
      [    0.582624] Last Breaking-Event-Address:
      [    0.582627]  [<0000000002014a64>] kernel_init+0x640/0x7a0
      
      Cc: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2a2325e6
    • Davide Libenzi's avatar
      eventfd: revised interface and cleanups · 13389010
      Davide Libenzi authored
      Change the eventfd interface to de-couple the eventfd memory context, from
      the file pointer instance.
      
      Without such change, there is no clean way to racely free handle the
      POLLHUP event sent when the last instance of the file* goes away.  Also,
      now the internal eventfd APIs are using the eventfd context instead of the
      file*.
      
      This patch is required by KVM's IRQfd code, which is still under
      development.
      Signed-off-by: default avatarDavide Libenzi <davidel@xmailserver.org>
      Cc: Gregory Haskins <ghaskins@novell.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Benjamin LaHaise <bcrl@kvack.org>
      Cc: Avi Kivity <avi@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      13389010
  2. 30 Jun, 2009 4 commits
  3. 29 Jun, 2009 22 commits
  4. 28 Jun, 2009 9 commits