1. 15 2月, 2008 3 次提交
    • G
      m68knommu: use asflags instead of EXTRA_AFLAGS · c25f0a0f
      Greg Ungerer 提交于
      Modify the extra asm flags for debugger capabilities, use asflags instead for
      EXTRA_AFLAGS.  Suggestion from Sam Ravnborg.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c25f0a0f
    • W
      m68knommu: fix coldfire interrupt exit path · 903be1c5
      Walter T Gruczka 提交于
      Remove bogus conditional jump in return from interrupt path.  Reorder the code
      path now that is not there.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      903be1c5
    • J
      cris: import memset.c from newlib: fixes compile error with newer (pre4.3) gcc · 77a746ce
      Jesper Nilsson 提交于
      Adrian Bunk reported the following compile error with a SVN head GCC:
      
      ...
      CC arch/cris/arch-v10/lib/memset.o
      /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c: In function 'memset':
      /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:164: error: lvalue required as increment operand
      /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:165: error: lvalue required as increment operand
      /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:166: error: lvalue required as increment operand
      /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:167: error: lvalue required as increment operand
      /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:185: error: lvalue required as increment operand
      /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:189: error: lvalue required as increment operand
      /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:192: error: lvalue required as increment operand
      ... etc ...
      
      This is due to the use of the construct:
      
      	*((long*)dst)++ = lc;
      
      Which is no longer legal since casts don't return an lvalue.
      
      The solution is to import the implementation from newlib,
      which is continually autotested together with GCC mainline,
      and uses the construct:
      
      	*(long *) dst = lc; dst += 4;
      
      With this change, the generated code actually shrinks 76 bytes
      since gcc notices that it can use autoincrement for the move
      instruction in CRIS.
      
         text    data     bss     dec     hex filename
          304       0       0     304     130 memset.old.o
         text    data     bss     dec     hex filename
          228       0       0     228      e4 memset.o
      
      Since this is an import of a file from newlib, I'm not touching
      the formatting or correcting any checkpatch errors.
      
      Note also that even if the two files for the CRIS v10 and CRIS v32
      are identical at the moment, it might be possible to tweak the
      CRIS v32 version. Thus, I'm not yet folding them into the same file,
      at least not until we've done some research on it.
      Signed-off-by: NJesper Nilsson <jesper.nilsson@axis.com>
      Cc: Mikael Starvik <mikael.starvik@axis.com>
      Cc: Adrian Bunk <bunk@stusta.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      77a746ce
  2. 14 2月, 2008 3 次提交
    • M
      Linux Kernel Markers: support multiple probes · fb40bd78
      Mathieu Desnoyers 提交于
      RCU style multiple probes support for the Linux Kernel Markers.  Common case
      (one probe) is still fast and does not require dynamic allocation or a
      supplementary pointer dereference on the fast path.
      
      - Move preempt disable from the marker site to the callback.
      
      Since we now have an internal callback, move the preempt disable/enable to the
      callback instead of the marker site.
      
      Since the callback change is done asynchronously (passing from a handler that
      supports arguments to a handler that does not setup the arguments is no
      arguments are passed), we can safely update it even if it is outside the
      preempt disable section.
      
      - Move probe arm to probe connection. Now, a connected probe is automatically
        armed.
      
      Remove MARK_MAX_FORMAT_LEN, unused.
      
      This patch modifies the Linux Kernel Markers API : it removes the probe
      "arm/disarm" and changes the probe function prototype : it now expects a
      va_list * instead of a "...".
      
      If we want to have more than one probe connected to a marker at a given
      time (LTTng, or blktrace, ssytemtap) then we need this patch. Without it,
      connecting a second probe handler to a marker will fail.
      
      It allow us, for instance, to do interesting combinations :
      
      Do standard tracing with LTTng and, eventually, to compute statistics
      with SystemTAP, or to have a special trigger on an event that would call
      a systemtap script which would stop flight recorder tracing.
      Signed-off-by: NMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Mike Mason <mmlnx@us.ibm.com>
      Cc: Dipankar Sarma <dipankar@in.ibm.com>
      Cc: David Smith <dsmith@redhat.com>
      Cc: "Paul E. McKenney" <paulmck@us.ibm.com>
      Cc: "Frank Ch. Eigler" <fche@redhat.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      fb40bd78
    • P
      xtime_lock vs update_process_times · aa02cd2d
      Peter Zijlstra 提交于
      Commit d3d74453 ("hrtimer: fixup the
      HRTIMER_CB_IRQSAFE_NO_SOFTIRQ fallback") broke several archs, and since
      only Russell bothered to merge the fix, and Greg to ACK his arch, I'm
      sending this for merger.
      
      I have confirmation that the Alpha bit results in a booting kernel.
      That leaves: blackfin, frv, sh and sparc untested.
      
      The deadlock in question was found by Russell:
      
        IRQ handle
          -> timer_tick() - xtime seqlock held for write
            -> update_process_times()
              -> run_local_timers()
                -> hrtimer_run_queues()
                  -> hrtimer_get_softirq_time() - tries to get a read lock
      
      Now, Thomas assures me the fix is trivial, only do_timer() needs to be
      done under the xtime_lock, and update_process_times() can savely be
      removed from under it.
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: NGreg Ungerer <gerg@uclinux.org>
      CC: Richard Henderson <rth@twiddle.net>
      CC: Bryan Wu <bryan.wu@analog.com>
      CC: David Howells <dhowells@redhat.com>
      CC: Paul Mundt <lethal@linux-sh.org>
      CC: William Irwin <wli@holomorphy.com>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NIvan Kokshaysky <ink@jurassic.park.msu.ru>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      aa02cd2d
    • D
      FRV: Fix up parse error in linker script · d897d2b5
      David Howells 提交于
      Fix up parse error in FRV linker script, presumably introduced through changes
      to the INIT_TEXT and EXIT_TEXT macros.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d897d2b5
  3. 13 2月, 2008 7 次提交
  4. 12 2月, 2008 4 次提交
  5. 11 2月, 2008 2 次提交
  6. 10 2月, 2008 21 次提交