[PATCH] Use microsecond granularity for taskstats accounting
From: Michael Holzheu <holzheu(a)linux.vnet.ibm.com> The taskstats interface uses microsecond granularity for the user and system time values. The conversion from cputime to the taskstats values uses the cputime_to_msecs primitive which effectively limits the granularity to milliseconds. Add the cputime_to_usecs p... 14 May 2010 10:35
PROBLEM: oom killer and swap weirdness on 2.6.3* kernels
In 2.6.3* kernels (test case was performed on the 2.6.33.3 kernel) when physical memory runs out and there is a large swap partition - the system completely stalls. I noticed that when running debian lenny using dm-crypt with encrypted / and swap with a 2.6.33.3 kernel (and all of the 2.6.3* series iirc) when ... 1 Jun 2010 17:30
WARNING: at fs/namespace.c:648 commit_tree+0xf1/0x10b()
John, This morning I boooted 2.6.33.4-rt19 (from rt/2.6.33) and, though this kernel has all of your fs/namespace.c patches, I saw the very same backtrace you and Nick fixed a while ago: ------------[ cut here ]------------ WARNING: at fs/namespace.c:648 commit_tree+0xf1/0x10b() Hardware name: KQ260AA-AC4 a654... 14 May 2010 09:29
[PATCH 07/10] generic rwsem: implement down_read_unfair
Add down_read_unfair() API. This is similar to down_read() with the following changes: - when the rwsem is read owned with queued writers, down_read_unfair() callers are allowed to acquire the rwsem for read without queueing; - when the rwsem is write owned, down_read_unfair() callers get queued in front of ... 14 May 2010 09:29
[PATCH 06/10] rwsem: smaller wrappers around rwsem_down_failed_common
More code can be pushed from rwsem_down_read_failed and rwsem_down_write_failed into rwsem_down_failed_common. Following change adding down_read_unfair infrastructure support also enjoys having flags available in a register rather than having to fish it out in the struct rwsem_waiter... Signed-off-by: Michel L... 14 May 2010 09:29
[PATCH 04/10] rwsem: let RWSEM_WAITING_BIAS represent any number of waiting threads
Previously each waiting thread added a bias of RWSEM_WAITING_BIAS. With this change, the bias is added only once when the wait list is non-empty. This has a few nice properties which will be used in following changes: - when the spinlock is held and the waiter list is known to be non-empty, count < RWSEM_WAITIN... 14 May 2010 09:29
[PATCH 00/10] V2: rwsem changes + down_read_unfair() proposal
I would like to sollicit comments regarding the following changes against 2.6.34-rc7 + 91af708 (from V1 proposal) already applied. The motivation for this change was some cluster monitoring software we use at google; which reads /proc/<pid>/maps files for all running processes. When the machines are under load, t... 14 May 2010 09:29
[PATCH 01/10] x86 rwsem: minor cleanups
The only functional change here is that __up_write won't call call_rwsem_wake anymore if the new rwsem value is >0. This makes no real difference since call_rwsem_wake would have noticed the active count being nonzero and done nothing anyway. Besides that, I clarified a few comments. Feel free to drop this pat... 14 May 2010 09:29
[PATCH 02/10] rwsem: fully separate code pathes to wake writers vs readers
This is in preparation to later changes in the series. In __rwsem_do_wake(), the first queued waiter is checked first in order to determine whether it's a writer or a reader. The code paths diverge at this point. The code that checks and incremetns the rwsem active count is duplicated on both sides - the point is... 14 May 2010 09:29
[PATCH 10/10] Use down_read_unfair() for /sys/<pid>/exe and /sys/<pid>/maps files
This helps in the following situation: - Thread A takes a page fault while reading or writing memory. do_page_fault() acquires the mmap_sem for read and blocks on disk (either reading the page from file, or hitting swap) for a long time. - Thread B does an mmap call and blocks trying to acquire the mmap_sem ... 14 May 2010 09:29