<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/kernel/exit.c, branch linux-2.6.14.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.14.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.14.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2005-10-27T16:07:33Z</updated>
<entry>
<title>Revert "remove false BUG_ON() from run_posix_cpu_timers()"</title>
<updated>2005-10-27T16:07:33Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2005-10-27T16:07:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a362f463a6d316d14daed0f817e151835ce97ff7'/>
<id>urn:sha1:a362f463a6d316d14daed0f817e151835ce97ff7</id>
<content type='text'>
This reverts commit 3de463c7d9d58f8cf3395268230cb20a4c15bffa.

Roland has another patch that allows us to leave the BUG_ON() in place
by just making sure that the condition it tests for really is always
true.

That goes in next.

Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] posix-timers: remove false BUG_ON() from run_posix_cpu_timers()</title>
<updated>2005-10-24T15:12:35Z</updated>
<author>
<name>Oleg Nesterov</name>
</author>
<published>2005-10-24T10:34:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3de463c7d9d58f8cf3395268230cb20a4c15bffa'/>
<id>urn:sha1:3de463c7d9d58f8cf3395268230cb20a4c15bffa</id>
<content type='text'>
do_exit() clears -&gt;it_##clock##_expires, but nothing prevents
another cpu to attach the timer to exiting process after that.

After exit_notify() does 'write_unlock_irq(&amp;tasklist_lock)' and
before do_exit() calls 'schedule() local timer interrupt can find
tsk-&gt;exit_state != 0. If that state was EXIT_DEAD (or another cpu
does sys_wait4) interrupted task has -&gt;signal == NULL.

At this moment exiting task has no pending cpu timers, they were cleaned
up in __exit_signal()-&gt;posix_cpu_timers_exit{,_group}(), so we can just
return from irq.

Signed-off-by: Oleg Nesterov &lt;oleg@tv-sign.ru&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Call exit_itimers from do_exit, not __exit_signal</title>
<updated>2005-10-21T22:38:08Z</updated>
<author>
<name>Roland McGrath</name>
</author>
<published>2005-10-21T22:03:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=25f407f0b668f5e4ebd5d13e1fb4306ba6427ead'/>
<id>urn:sha1:25f407f0b668f5e4ebd5d13e1fb4306ba6427ead</id>
<content type='text'>
When I originally moved exit_itimers into __exit_signal, that was the only
place where we could reliably know it was the last thread in the group
dying, without races.  Since then we've gotten the signal_struct.live
counter, and do_exit can reliably do group-wide cleanup work.

This patch moves the call to do_exit, where it's made without locks.  This
avoids the deadlock issues that the old __exit_signal code's comment talks
about, and the one that Oleg found recently with process CPU timers.

[ This replaces e03d13e985d48ac4885382c9e3b1510c78bd047f, which is why
  it was just reverted. ]

Signed-off-by: Roland McGrath &lt;roland@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>Fix inequality comparison against "task-&gt;state"</title>
<updated>2005-10-01T18:04:18Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2005-10-01T18:04:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=14bf01bb0599c89fc7f426d20353b76e12555308'/>
<id>urn:sha1:14bf01bb0599c89fc7f426d20353b76e12555308</id>
<content type='text'>
We should always use bitmask ops, rather than depend on some ordering of
the different states.  With the TASK_NONINTERACTIVE flag, the inequality
doesn't really work.

Oleg Nesterov argues (likely correctly) that this test is unnecessary in
the first place.  However, the minimal fix for now is to at least make
it work in the presense of TASK_NONINTERACTIVE.  Waiting for consensus
from Roland &amp; co on potential bigger cleanups.

Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] files: fix preemption issues</title>
<updated>2005-09-17T18:50:02Z</updated>
<author>
<name>Dipankar Sarma</name>
</author>
<published>2005-09-17T02:28:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4fb3a53860cee2aaaf81186c451b7da0b95b45c1'/>
<id>urn:sha1:4fb3a53860cee2aaaf81186c451b7da0b95b45c1</id>
<content type='text'>
With the new fdtable locking rules, you have to protect fdtable with either
-&gt;file_lock or rcu_read_lock/unlock().  There are some places where we
aren't doing either.  This patch fixes those places.

Signed-off-by: Dipankar Sarma &lt;dipankar@in.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] files: files struct with RCU</title>
<updated>2005-09-09T20:57:55Z</updated>
<author>
<name>Dipankar Sarma</name>
</author>
<published>2005-09-09T20:04:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ab2af1f5005069321c5d130f09cce577b03f43ef'/>
<id>urn:sha1:ab2af1f5005069321c5d130f09cce577b03f43ef</id>
<content type='text'>
Patch to eliminate struct files_struct.file_lock spinlock on the reader side
and use rcu refcounting rcuref_xxx api for the f_count refcounter.  The
updates to the fdtable are done by allocating a new fdtable structure and
setting files-&gt;fdt to point to the new structure.  The fdtable structure is
protected by RCU thereby allowing lock-free lookup.  For fd arrays/sets that
are vmalloced, we use keventd to free them since RCU callbacks can't sleep.  A
global list of fdtable to be freed is not scalable, so we use a per-cpu list.
If keventd is already handling the current cpu's work, we use a timer to defer
queueing of that work.

Since the last publication, this patch has been re-written to avoid using
explicit memory barriers and use rcu_assign_pointer(), rcu_dereference()
premitives instead.  This required that the fd information is kept in a
separate structure (fdtable) and updated atomically.

Signed-off-by: Dipankar Sarma &lt;dipankar@in.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] files: break up files struct</title>
<updated>2005-09-09T20:57:55Z</updated>
<author>
<name>Dipankar Sarma</name>
</author>
<published>2005-09-09T20:04:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=badf16621c1f9d1ac753be056fce11b43d6e0be5'/>
<id>urn:sha1:badf16621c1f9d1ac753be056fce11b43d6e0be5</id>
<content type='text'>
In order for the RCU to work, the file table array, sets and their sizes must
be updated atomically.  Instead of ensuring this through too many memory
barriers, we put the arrays and their sizes in a separate structure.  This
patch takes the first step of putting the file table elements in a separate
structure fdtable that is embedded withing files_struct.  It also changes all
the users to refer to the file table using files_fdtable() macro.  Subsequent
applciation of RCU becomes easier after this.

Signed-off-by: Dipankar Sarma &lt;dipankar@in.ibm.com&gt;
Signed-Off-By: David Howells &lt;dhowells@redhat.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] revert "timer exit cleanup"</title>
<updated>2005-08-04T23:57:49Z</updated>
<author>
<name>Andrew Morton</name>
</author>
<published>2005-08-04T23:49:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c306895167c8384b88bc02945a0d226a04218fa5'/>
<id>urn:sha1:c306895167c8384b88bc02945a0d226a04218fa5</id>
<content type='text'>
Revert this June 17 patch: it broke persistence of timers across execve().

Cc: Roland McGrath &lt;roland@redhat.com&gt;
Cc: george anzinger &lt;george@mvista.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Update cfq io scheduler to time sliced design</title>
<updated>2005-06-27T21:33:29Z</updated>
<author>
<name>Jens Axboe</name>
</author>
<published>2005-06-27T08:55:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=22e2c507c301c3dbbcf91b4948b88f78842ee6c9'/>
<id>urn:sha1:22e2c507c301c3dbbcf91b4948b88f78842ee6c9</id>
<content type='text'>
This updates the CFQ io scheduler to the new time sliced design (cfq
v3).  It provides full process fairness, while giving excellent
aggregate system throughput even for many competing processes.  It
supports io priorities, either inherited from the cpu nice value or set
directly with the ioprio_get/set syscalls.  The latter closely mimic
set/getpriority.

This import is based on my latest from -mm.

Signed-off-by: Jens Axboe &lt;axboe@suse.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Optimize sys_times for a single thread process</title>
<updated>2005-06-23T16:45:30Z</updated>
<author>
<name>Christoph Lameter</name>
</author>
<published>2005-06-23T07:10:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=71a2224d7d1cefc23a1ac80bba421cc069cc3257'/>
<id>urn:sha1:71a2224d7d1cefc23a1ac80bba421cc069cc3257</id>
<content type='text'>
Avoid taking the tasklist_lock in sys_times if the process is single
threaded.  In a NUMA system taking the tasklist_lock may cause a bouncing
cacheline if multiple independent processes continually call sys_times to
measure their performance.

Signed-off-by: Christoph Lameter &lt;christoph@lameter.com&gt;
Signed-off-by: Shai Fultheim &lt;shai@scalex86.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
</feed>
