1. 22 9月, 2009 1 次提交
    • I
      ratelimit: Use per ratelimit context locking · 979f693d
      Ingo Molnar 提交于
      I'd like to use printk_ratelimit() in atomic context, but that's
      not possible right now due to the spinlock usage this commit
      introduced more than a year ago:
      
        717115e1: printk ratelimiting rewrite
      
      As a first step push the lock into the ratelimit state structure.
      This allows us to deal with locking failures to be considered as an
      event related to that state being too busy.
      
      Also clean up the code a bit (without changing functionality):
      
       - tidy up the definitions
      
       - clean up the code flow
      
      This also shrinks the code a tiny bit:
      
         text	   data	    bss	    dec	    hex	filename
          264	      0	      4	    268	    10c	ratelimit.o.before
          255	      0	      0	    255	     ff	ratelimit.o.after
      
      ( Whole-kernel data size got a bit larger, because we have
        two ratelimit-state data structures right now. )
      
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: David S. Miller <davem@davemloft.net>
      LKML-Reference: <new-submission>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      979f693d
  2. 29 7月, 2008 1 次提交
  3. 26 7月, 2008 1 次提交
    • D
      printk ratelimiting rewrite · 717115e1
      Dave Young 提交于
      All ratelimit user use same jiffies and burst params, so some messages
      (callbacks) will be lost.
      
      For example:
      a call printk_ratelimit(5 * HZ, 1)
      b call printk_ratelimit(5 * HZ, 1) before the 5*HZ timeout of a, then b will
      will be supressed.
      
      - rewrite __ratelimit, and use a ratelimit_state as parameter.  Thanks for
        hints from andrew.
      
      - Add WARN_ON_RATELIMIT, update rcupreempt.h
      
      - remove __printk_ratelimit
      
      - use __ratelimit in net_ratelimit
      Signed-off-by: NDave Young <hidave.darkstar@gmail.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: "Paul E. McKenney" <paulmck@us.ibm.com>
      Cc: Dave Young <hidave.darkstar@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      717115e1
  4. 29 4月, 2008 1 次提交