You need to sign in or sign up before continuing.
  1. 18 7月, 2007 1 次提交
    • R
      Freezer: make kernel threads nonfreezable by default · 83144186
      Rafael J. Wysocki 提交于
      Currently, the freezer treats all tasks as freezable, except for the kernel
      threads that explicitly set the PF_NOFREEZE flag for themselves.  This
      approach is problematic, since it requires every kernel thread to either
      set PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn't
      care for the freezing of tasks at all.
      
      It seems better to only require the kernel threads that want to or need to
      be frozen to use some freezer-related code and to remove any
      freezer-related code from the other (nonfreezable) kernel threads, which is
      done in this patch.
      
      The patch causes all kernel threads to be nonfreezable by default (ie.  to
      have PF_NOFREEZE set by default) and introduces the set_freezable()
      function that should be called by the freezable kernel threads in order to
      unset PF_NOFREEZE.  It also makes all of the currently freezable kernel
      threads call set_freezable(), so it shouldn't cause any (intentional)
      change of behaviour to appear.  Additionally, it updates documentation to
      describe the freezing of tasks more accurately.
      
      [akpm@linux-foundation.org: build fixes]
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NNigel Cunningham <nigel@nigel.suspend2.net>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Oleg Nesterov <oleg@tv-sign.ru>
      Cc: Gautham R Shenoy <ego@in.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      83144186
  2. 11 7月, 2007 4 次提交
  3. 08 7月, 2007 1 次提交
  4. 24 5月, 2007 1 次提交
  5. 18 5月, 2007 1 次提交
  6. 11 5月, 2007 1 次提交
  7. 10 5月, 2007 1 次提交
  8. 09 5月, 2007 2 次提交
  9. 08 5月, 2007 1 次提交
  10. 05 5月, 2007 5 次提交
  11. 26 4月, 2007 10 次提交
  12. 29 3月, 2007 1 次提交
  13. 23 3月, 2007 1 次提交
  14. 08 3月, 2007 1 次提交
    • J
      [PATCH] bluetooth: fix socket locking in hci_sock_dev_event() · b40df574
      Jiri Kosina 提交于
      [Bluetooth] Fix socket locking in hci_sock_dev_event()
      
      hci_sock_dev_event() uses bh_lock_sock() to lock the socket lock.
      This is not deadlock-safe against locking of the same socket lock in
      l2cap_connect_cfm() from softirq context. In addition to that,
      hci_sock_dev_event() doesn't seem to be called from softirq context,
      so it is safe to use lock_sock()/release_sock() instead.
      
      The lockdep warning can be triggered on my T42p simply by switching
      the Bluetooth off by the keyboard button.
      
        =================================
        [ INFO: inconsistent lock state ]
        2.6.21-rc2 #4
        ---------------------------------
        inconsistent {in-softirq-W} -> {softirq-on-W} usage.
        khubd/156 [HC0[0]:SC0[0]:HE1:SE1] takes:
         (slock-AF_BLUETOOTH){-+..}, at: [<e0ca5520>] hci_sock_dev_event+0xa8/0xc5 [bluetooth]
        {in-softirq-W} state was registered at:
          [<c012d1db>] mark_lock+0x59/0x414
          [<e0cef688>] l2cap_connect_cfm+0x4e/0x11f [l2cap]
          [<c012dfd7>] __lock_acquire+0x3e5/0xb99
          [<e0cef688>] l2cap_connect_cfm+0x4e/0x11f [l2cap]
          [<c012e7f2>] lock_acquire+0x67/0x81
          [<e0cef688>] l2cap_connect_cfm+0x4e/0x11f [l2cap]
          [<c036ee72>] _spin_lock+0x29/0x34
          [<e0cef688>] l2cap_connect_cfm+0x4e/0x11f [l2cap]
          [<e0cef688>] l2cap_connect_cfm+0x4e/0x11f [l2cap]
          [<e0ca17c3>] hci_send_cmd+0x126/0x14f [bluetooth]
          [<e0ca4ce4>] hci_event_packet+0x729/0xebd [bluetooth]
          [<e0ca205b>] hci_rx_task+0x2a/0x20f [bluetooth]
          [<e0ca209d>] hci_rx_task+0x6c/0x20f [bluetooth]
          [<c012d7be>] trace_hardirqs_on+0x10d/0x14e
          [<c011ac85>] tasklet_action+0x3d/0x68
          [<c011abba>] __do_softirq+0x41/0x92
          [<c011ac32>] do_softirq+0x27/0x3d
          [<c0105134>] do_IRQ+0x7b/0x8f
          [<c0103dec>] common_interrupt+0x24/0x34
          [<c0103df6>] common_interrupt+0x2e/0x34
          [<c0248e65>] acpi_processor_idle+0x1b3/0x34a
          [<c0248e68>] acpi_processor_idle+0x1b6/0x34a
          [<c010232b>] cpu_idle+0x39/0x4e
          [<c04bab0c>] start_kernel+0x372/0x37a
          [<c04ba42b>] unknown_bootoption+0x0/0x202
          [<ffffffff>] 0xffffffff
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      Acked-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b40df574
  15. 27 2月, 2007 4 次提交
  16. 15 2月, 2007 1 次提交
    • T
      [PATCH] remove many unneeded #includes of sched.h · cd354f1a
      Tim Schmielau 提交于
      After Al Viro (finally) succeeded in removing the sched.h #include in module.h
      recently, it makes sense again to remove other superfluous sched.h includes.
      There are quite a lot of files which include it but don't actually need
      anything defined in there.  Presumably these includes were once needed for
      macros that used to live in sched.h, but moved to other header files in the
      course of cleaning it up.
      
      To ease the pain, this time I did not fiddle with any header files and only
      removed #includes from .c-files, which tend to cause less trouble.
      
      Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
      arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
      allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
      configs in arch/arm/configs on arm.  I also checked that no new warnings were
      introduced by the patch (actually, some warnings are removed that were emitted
      by unnecessarily included header files).
      Signed-off-by: NTim Schmielau <tim@physik3.uni-rostock.de>
      Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cd354f1a
  17. 11 2月, 2007 1 次提交
  18. 10 2月, 2007 1 次提交
  19. 23 1月, 2007 2 次提交