1. 29 8月, 2009 4 次提交
  2. 20 8月, 2009 1 次提交
  3. 19 8月, 2009 1 次提交
    • K
      mm: revert "oom: move oom_adj value" · 0753ba01
      KOSAKI Motohiro 提交于
      The commit 2ff05b2b (oom: move oom_adj value) moveed the oom_adj value to
      the mm_struct.  It was a very good first step for sanitize OOM.
      
      However Paul Menage reported the commit makes regression to his job
      scheduler.  Current OOM logic can kill OOM_DISABLED process.
      
      Why? His program has the code of similar to the following.
      
      	...
      	set_oom_adj(OOM_DISABLE); /* The job scheduler never killed by oom */
      	...
      	if (vfork() == 0) {
      		set_oom_adj(0); /* Invoked child can be killed */
      		execve("foo-bar-cmd");
      	}
      	....
      
      vfork() parent and child are shared the same mm_struct.  then above
      set_oom_adj(0) doesn't only change oom_adj for vfork() child, it's also
      change oom_adj for vfork() parent.  Then, vfork() parent (job scheduler)
      lost OOM immune and it was killed.
      
      Actually, fork-setting-exec idiom is very frequently used in userland program.
      We must not break this assumption.
      
      Then, this patch revert commit 2ff05b2b and related commit.
      
      Reverted commit list
      ---------------------
      - commit 2ff05b2b (oom: move oom_adj value from task_struct to mm_struct)
      - commit 4d8b9135 (oom: avoid unnecessary mm locking and scanning for OOM_DISABLE)
      - commit 81236810 (oom: only oom kill exiting tasks with attached memory)
      - commit 933b787b (mm: copy over oom_adj value at fork time)
      Signed-off-by: NKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Paul Menage <menage@google.com>
      Cc: David Rientjes <rientjes@google.com>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Nick Piggin <npiggin@suse.de>
      Cc: Mel Gorman <mel@csn.ul.ie>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0753ba01
  4. 18 8月, 2009 1 次提交
  5. 14 8月, 2009 3 次提交
  6. 12 8月, 2009 1 次提交
  7. 10 8月, 2009 1 次提交
  8. 07 8月, 2009 1 次提交
  9. 02 8月, 2009 1 次提交
    • H
      thinkpad-acpi: remove dock and bay subdrivers · 1f6fc2de
      Henrique de Moraes Holschuh 提交于
      The standard ACPI dock driver can handle the hotplug bays and docks of
      the ThinkPads just fine (including batteries) as of 2.6.27, and the
      code in thinkpad-acpi for the dock and bay subdrivers is currently
      broken anyway...
      
      Userspace needs some love to support the two-stage ejection nicely,
      but it is simple enough to do through udev rules (you don't even need
      HAL) so this wouldn't justify fixing the dock and bay subdrivers,
      either.
      
      That leaves warm-swap bays (_EJ3) support for thinkpad-acpi, as well
      as support for the weird dock of the model 570, but since such support
      has never left the "experimental" stage, it is also not a strong
      enough reason to find a way to fix this code.
      
      Users of ThinkPads with warm-swap bays are urged to request that _EJ3
      support be added to the regular ACPI dock driver, if such feature is
      indeed useful for them.
      Signed-off-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      1f6fc2de
  10. 01 8月, 2009 1 次提交
  11. 31 7月, 2009 1 次提交
  12. 30 7月, 2009 6 次提交
  13. 29 7月, 2009 1 次提交
  14. 25 7月, 2009 2 次提交
  15. 23 7月, 2009 1 次提交
    • T
      ALSA: pcm - Add logging of hwptr updates and interrupt updates · cedb8118
      Takashi Iwai 提交于
      Added the logging functionality to xrun_debug to record the hwptr
      updates via snd_pcm_update_hw_ptr() and snd_pcm_update_hwptr_interrupt(),
      corresponding to 16 and 8, respectively.
      
      For example,
      	# echo 9 > /proc/asound/card0/pcm0p/xrun_debug
      will record the position and other parameters at each period interrupt
      together with the normal XRUN debugging.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      cedb8118
  16. 22 7月, 2009 1 次提交
  17. 18 7月, 2009 1 次提交
  18. 16 7月, 2009 1 次提交
    • E
      netfilter: nf_conntrack: nf_conntrack_alloc() fixes · 941297f4
      Eric Dumazet 提交于
      When a slab cache uses SLAB_DESTROY_BY_RCU, we must be careful when allocating
      objects, since slab allocator could give a freed object still used by lockless
      readers.
      
      In particular, nf_conntrack RCU lookups rely on ct->tuplehash[xxx].hnnode.next
      being always valid (ie containing a valid 'nulls' value, or a valid pointer to next
      object in hash chain.)
      
      kmem_cache_zalloc() setups object with NULL values, but a NULL value is not valid
      for ct->tuplehash[xxx].hnnode.next.
      
      Fix is to call kmem_cache_alloc() and do the zeroing ourself.
      
      As spotted by Patrick, we also need to make sure lookup keys are committed to
      memory before setting refcount to 1, or a lockless reader could get a reference
      on the old version of the object. Its key re-check could then pass the barrier.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      941297f4
  19. 13 7月, 2009 1 次提交
  20. 11 7月, 2009 2 次提交
  21. 10 7月, 2009 1 次提交
  22. 09 7月, 2009 1 次提交
  23. 07 7月, 2009 1 次提交
  24. 06 7月, 2009 3 次提交
  25. 01 7月, 2009 2 次提交