1. 23 2月, 2013 1 次提交
  2. 14 6月, 2012 1 次提交
    • E
      splice: fix racy pipe->buffers uses · 047fe360
      Eric Dumazet 提交于
      Dave Jones reported a kernel BUG at mm/slub.c:3474! triggered
      by splice_shrink_spd() called from vmsplice_to_pipe()
      
      commit 35f3d14d (pipe: add support for shrinking and growing pipes)
      added capability to adjust pipe->buffers.
      
      Problem is some paths don't hold pipe mutex and assume pipe->buffers
      doesn't change for their duration.
      
      Fix this by adding nr_pages_max field in struct splice_pipe_desc, and
      use it in place of pipe->buffers where appropriate.
      
      splice_shrink_spd() loses its struct pipe_inode_info argument.
      Reported-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Tom Herbert <therbert@google.com>
      Cc: stable <stable@vger.kernel.org> # 2.6.35
      Tested-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      047fe360
  3. 10 2月, 2012 1 次提交
  4. 04 1月, 2012 1 次提交
  5. 31 10月, 2011 1 次提交
  6. 05 11月, 2010 1 次提交
  7. 28 5月, 2010 1 次提交
  8. 22 5月, 2010 1 次提交
  9. 07 3月, 2010 1 次提交
  10. 16 12月, 2009 1 次提交
  11. 28 9月, 2009 1 次提交
  12. 03 4月, 2009 1 次提交
  13. 19 2月, 2009 1 次提交
    • I
      timers: add mod_timer_pending() · 74019224
      Ingo Molnar 提交于
      Impact: new timer API
      
      Based on an idea from Martin Josefsson with the help of
      Patrick McHardy and Stephen Hemminger:
      
      introduce the mod_timer_pending() API which is a mod_timer()
      offspring that is an invariant on already removed timers.
      
      (regular mod_timer() re-activates non-pending timers.)
      
      This is useful for the networking code in that it can
      allow unserialized mod_timer_pending() timer-forwarding
      calls, but a single del_timer*() will stop the timer
      from being reactivated again.
      
      Also while at it:
      
      - optimize the regular mod_timer() path some more, the
        timer-stat and a debug check was needlessly duplicated
        in __mod_timer().
      
      - make the exports come straight after the function, as
        most other exports in timer.c already did.
      
      - eliminate __mod_timer() as an external API, change the
        users to mod_timer().
      
      The regular mod_timer() code path is not impacted
      significantly, due to inlining optimizations and due to
      the simplifications.
      
      Based-on-patch-from: Stephen Hemminger <shemminger@vyatta.com>
      Acked-by: NStephen Hemminger <shemminger@vyatta.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Patrick McHardy <kaber@trash.net>
      Cc: netdev@vger.kernel.org
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      74019224
  14. 19 1月, 2009 1 次提交
  15. 30 12月, 2008 1 次提交
    • I
      relayfs: replace BUG() with WARN_ON() in relay_late_setup_files() · 7a51cffb
      Ingo Molnar 提交于
      Impact: turn boot crash into boot warning
      
      This BUG() can trigger:
      
      [   16.684131] initcall fail_page_alloc_debugfs+0x0/0xc1 returned 0 after 0 usecs
      [   16.692035] calling  kmemtrace_setup_late+0x0/0xd5 @ 1
      [   16.700087] relay_late_setup_files: CPU 1 has no buffer, it must have!
      [   16.704044] ------------[ cut here ]------------
      [   16.708030] kernel BUG at kernel/relay.c:680!
      [   16.708030] invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC
      [   16.708030] last sysfs file:
      [   16.708030]
      [   16.708030] Pid: 1, comm: swapper Not tainted (2.6.28-tip-03903-g9a39f58-dirty #13207) System Product Name
      [   16.708030] EIP: 0060:[<c01604ae>] EFLAGS: 00010246 CPU: 1
      [   16.708030] EIP is at relay_late_setup_files+0x8c/0x176
      
      Reduce it to a more reportable WARN_ONCE().
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      7a51cffb
  16. 11 12月, 2008 1 次提交
  17. 18 11月, 2008 1 次提交
  18. 06 8月, 2008 1 次提交
  19. 27 7月, 2008 1 次提交
  20. 28 5月, 2008 1 次提交
  21. 08 5月, 2008 1 次提交
  22. 29 4月, 2008 2 次提交
  23. 26 3月, 2008 2 次提交
  24. 17 3月, 2008 1 次提交
  25. 07 2月, 2008 1 次提交
  26. 04 2月, 2008 1 次提交
  27. 19 10月, 2007 1 次提交
  28. 01 8月, 2007 1 次提交
  29. 20 7月, 2007 1 次提交
  30. 13 7月, 2007 2 次提交
  31. 10 7月, 2007 4 次提交
  32. 29 6月, 2007 2 次提交
  33. 10 5月, 2007 1 次提交
    • R
      Add suspend-related notifications for CPU hotplug · 8bb78442
      Rafael J. Wysocki 提交于
      Since nonboot CPUs are now disabled after tasks and devices have been
      frozen and the CPU hotplug infrastructure is used for this purpose, we need
      special CPU hotplug notifications that will help the CPU-hotplug-aware
      subsystems distinguish normal CPU hotplug events from CPU hotplug events
      related to a system-wide suspend or resume operation in progress.  This
      patch introduces such notifications and causes them to be used during
      suspend and resume transitions.  It also changes all of the
      CPU-hotplug-aware subsystems to take these notifications into consideration
      (for now they are handled in the same way as the corresponding "normal"
      ones).
      
      [oleg@tv-sign.ru: cleanups]
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Cc: Gautham R Shenoy <ego@in.ibm.com>
      Cc: Pavel Machek <pavel@ucw.cz>
      Signed-off-by: NOleg Nesterov <oleg@tv-sign.ru>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8bb78442