2001-10-12 20:19:25

by Robert Love

[permalink] [raw]
Subject: Updated preempt-kernel patches

Updated preempt-kernel patches for 2.4.10, 2.4.12, 2.4.13-pre1, and
(phew!) 2.4.12-ac1 are available at:

http://tech9.net/rml/linux

Note the patches for 2.4.10 are updated over previously releases.

These patches allow create a preemptible kernel -- increasing system
response time. Everyone is encouraged to give it a whirl and report
back.

Major changes include code to prevent CPU changes on preempt (should
prevent a class of race conditions), an SMP compile fix, and various
cleanups.

Full change log:

20011011
- remove pgalloc.h preemption disable statements -- not
needed with the new CPU switch prevention
- fix compile on SMP in some configurations (ac tree only)

20011005
- rearrange sched.c so we can patch cleanly against rtsched
(or vice versa)

20011004
- prevent the case of preemption causing a CPU switch
by locking tasks to the current CPU in preempt_schedule
- revert to _raw_spin_xxx from _spin_xxx since PPC uses
that convention.

20011003
- push pcmcia-cs tools fix into their next release

20011001
- fix spin_lock_prefetch optimization causing (harmless)
compile warnings

Robert Love


2001-10-12 20:47:30

by Robert Love

[permalink] [raw]
Subject: Re: Updated preempt-kernel patches

On Fri, 2001-10-12 at 16:19, Robert Love wrote:

> These patches allow create a preemptible kernel -- increasing system
> response time. Everyone is encouraged to give it a whirl and report
> back.

If you are lucky, maybe it will _decrease_ system response time, too.
Whoops.

Robert Love

2001-10-12 22:19:40

by Robert Love

[permalink] [raw]
Subject: Re: Updated preempt-kernel patches

On Fri, 2001-10-12 at 16:19, Robert Love wrote:
> - fix compile on SMP in some configurations (ac tree only)

Looks like I forgot to merge that one. Fix follows below (its needed by
some ac-tree users who also compile SMP).

diff -urN linux-2.4.12-ac1-preempt/include/asm-i386/spinlock.h linux/include/asm-i386/spinlock.h
--- linux-2.4.12-ac1-preempt/include/asm-i386/spinlock.h Fri Oct 12 16:34:16 2001
+++ linux/include/asm-i386/spinlock.h Fri Oct 12 18:16:05 2001
@@ -97,7 +97,7 @@
:"=q" (oldval), "=m" (lock->lock) \
:"0" (1) : "memory"

-static inline void spin_unlock(spinlock_t *lock)
+static inline void _raw_spin_unlock(spinlock_t *lock)
{
char oldval;
#if SPINLOCK_DEBUG

Robert Love

2001-10-13 00:26:54

by Mike Fedyk

[permalink] [raw]
Subject: Re: Updated preempt-kernel patches

On Fri, Oct 12, 2001 at 06:19:52PM -0400, Robert Love wrote:
> On Fri, 2001-10-12 at 16:19, Robert Love wrote:
> > - fix compile on SMP in some configurations (ac tree only)
>
> Looks like I forgot to merge that one. Fix follows below (its needed by
> some ac-tree users who also compile SMP).
>

Again? ;)

Any idea how it would work on any smp systems using the -ac tree?

2001-10-13 00:31:45

by Robert Love

[permalink] [raw]
Subject: Re: Updated preempt-kernel patches

On Fri, 2001-10-12 at 20:27, Mike Fedyk wrote:
> On Fri, Oct 12, 2001 at 06:19:52PM -0400, Robert Love wrote:
> > On Fri, 2001-10-12 at 16:19, Robert Love wrote:
> > > - fix compile on SMP in some configurations (ac tree only)
> >
> > Looks like I forgot to merge that one. Fix follows below (its needed by
> > some ac-tree users who also compile SMP).
> >
>
> Again? ;)

Yes, again :)

The 2.4.12-ac1 patch at http://tech9.net/rml/linux has been updated so
you don't need the previous patch.

> Any idea how it would work on any smp systems using the -ac tree?

It should run fine, give it a whirl.

Robert Love

2001-10-13 01:01:27

by Mike Fedyk

[permalink] [raw]
Subject: Re: Updated preempt-kernel patches

On Fri, Oct 12, 2001 at 08:32:00PM -0400, Robert Love wrote:
> On Fri, 2001-10-12 at 20:27, Mike Fedyk wrote:
> > On Fri, Oct 12, 2001 at 06:19:52PM -0400, Robert Love wrote:
> > > On Fri, 2001-10-12 at 16:19, Robert Love wrote:
> > > > - fix compile on SMP in some configurations (ac tree only)
> > >
> > > Looks like I forgot to merge that one. Fix follows below (its needed by
> > > some ac-tree users who also compile SMP).
> > >
> >
> > Again? ;)
>
> Yes, again :)
>

;)

> The 2.4.12-ac1 patch at http://tech9.net/rml/linux has been updated so
> you don't need the previous patch.
>
> > Any idea how it would work on any smp systems using the -ac tree?
>
> It should run fine, give it a whirl.
>

Don't worry, I'm just bugging... ;)

SMP patch is working great:
Now : 1 day(s), 23:14:50 running Linux 2.4.10-ac11+smp+preempt+vm_hogstop
One : 6 day(s), 01:51:56 running Linux
2.4.9-ac10_ext3_0.9.9_dir-speed_interactivity, ended Wed Sep 26 14:34:33 2001
Two : 4 day(s), 03:37:47 running Linux 2.4.9-ac16-vfree, ended Mon Oct 1
18:51:31 2001
Three: 3 day(s), 00:59:12 running Linux 2.4.10-ac4, ended Mon Oct 8
19:53:54 2001

I reset ud after switching to 2.4-ac from 2.2...

> Robert Love
>

Mike

2001-10-13 05:31:18

by Robert Love

[permalink] [raw]
Subject: Re: Updated preempt-kernel patches

Great.

Let me know if you test 2.4.12-ac1 and how that goes.

Robert Love