Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-13 Thread Peter Williams
Gene Heskett wrote:
> On Friday 13 July 2007, Peter Williams wrote:
>> Ingo Molnar wrote:
>>> * Gregory Haskins <[EMAIL PROTECTED]> wrote:
 On Thu, 2007-07-12 at 14:07 +0200, Ingo Molnar wrote:
> * Gregory Haskins <[EMAIL PROTECTED]> wrote:
>> Hi Ingo, Thomas, and the greater linux-rt community,
>>
>>  I just wanted to let you guys know that our team has a port of
>> the 21.5-rt20 patch for the 2.6.22 kernel available. [...]
> great! We had the upstream -rt port to .22 in the works too, it was just
> held up by the hpet breakage - which Thomas managed to fix earlier
> today. I've released the 2.6.22.1-rt1 patch to the usual place:
>
> http://redhat.com/~mingo/realtime-preempt/
 Thats awesome, Ingo!  Thanks!  Could you publish a broken out version
 as well?  We found it extremely valuable to be able to bisect this
 beast while working on the 21-22 port.
>>> we are working on something in this area :) Stay tuned ...
>> I've just been reviewing these patches and have spotted an error in the
>> file mm/slob.c at lines 500-501 whereby a non existent variable "c" is
>> referenced.  The attached patch is a proposed fix to the problem.
> 
> Could this explain why 2.6.22.1-rt1 seems to use a lot of swap?  I've been as 
> high as 570 megs into swap, currently at 286megs after doing a 
> swapoff --a;swapon -a about 8 hours ago.

No.  This problem would have caused the build to fail if slob was
configured.

Peter
-- 
Peter Williams   [EMAIL PROTECTED]

"Learning, n. The kind of ignorance distinguishing the studious."
 -- Ambrose Bierce
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-13 Thread Gene Heskett
On Friday 13 July 2007, Peter Williams wrote:
>Gene Heskett wrote:
>> On Friday 13 July 2007, Peter Williams wrote:
>>> Ingo Molnar wrote:
 * Gregory Haskins <[EMAIL PROTECTED]> wrote:
> On Thu, 2007-07-12 at 14:07 +0200, Ingo Molnar wrote:
>> * Gregory Haskins <[EMAIL PROTECTED]> wrote:
>>> Hi Ingo, Thomas, and the greater linux-rt community,
>>>
>>> I just wanted to let you guys know that our team has a port of
>>> the 21.5-rt20 patch for the 2.6.22 kernel available. [...]
>>
>> great! We had the upstream -rt port to .22 in the works too, it was
>> just held up by the hpet breakage - which Thomas managed to fix
>> earlier today. I've released the 2.6.22.1-rt1 patch to the usual
>> place:
>>
>> http://redhat.com/~mingo/realtime-preempt/
>
> Thats awesome, Ingo!  Thanks!  Could you publish a broken out version
> as well?  We found it extremely valuable to be able to bisect this
> beast while working on the 21-22 port.

 we are working on something in this area :) Stay tuned ...
>>>
>>> I've just been reviewing these patches and have spotted an error in the
>>> file mm/slob.c at lines 500-501 whereby a non existent variable "c" is
>>> referenced.  The attached patch is a proposed fix to the problem.
>>
>> Could this explain why 2.6.22.1-rt1 seems to use a lot of swap?  I've been
>> as high as 570 megs into swap, currently at 286megs after doing a
>> swapoff --a;swapon -a about 8 hours ago.
>
>No.  This problem would have caused the build to fail if slob was
>configured.
>
>Peter

Which, now that I've gone back and looked only has SLAB as the choice in the 
make xconfig.  It did that switch rather silently as I had been using SLUB 
all the way through the 2.6.22-rcN series just to exersize the new option.

In any event, both rt2 and rt3 seem to have that under total control now.  No 
swap is being indicated by htop, and kmail is up to 122 megs.  Uptime with 
rt3 is 8.5 hours now & so far everything is running rather nicely.  Except of 
course for tvtime.  I fwd'd the logs from that to the v4l list, but haven't 
been graced with a reply as yet.

Thanks Peter.

-- 
Cheers, Gene
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
There are three ways to get something done:
(1) Do it yourself.
(2) Hire someone to do it for you.
(3) Forbid your kids to do it.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-13 Thread Benjamin Herrenschmidt
On Thu, 2007-07-12 at 18:33 +0200, Ingo Molnar wrote:
> * Gregory Haskins <[EMAIL PROTECTED]> wrote:
> 
> >   For the most part, it seems you guys have resolved most of the 
> > issues that we ran into as well (e.g. early-flush-tlb, relocated 
> > die-notifier, etc, come to mind).  I found one patch that was missing 
> > that allows debug configurations to build properly.  Heres that patch:
> > 
> > --- linux-2.6.21.orig/kernel/latency_trace.c
> > +++ linux-2.6.21/kernel/latency_trace.c
> > @@ -24,6 +24,7 @@
> >  #include 
> >  #include 
> >  #include 
> > +#include 
> 
> i think this breaks PPC (which has no asm-offsets.h file). In any case i 
> saw this build breakage too and the fix is in -rt2.

Nah, ppc and powerpc both have asm-offset.h

Cheers,
Ben.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-13 Thread Thomas Gleixner
On Fri, 2007-07-13 at 04:43 -0400, Gene Heskett wrote:
> >> we are working on something in this area :) Stay tuned ...
> >
> >I've just been reviewing these patches and have spotted an error in the
> >file mm/slob.c at lines 500-501 whereby a non existent variable "c" is
> >referenced.  The attached patch is a proposed fix to the problem.
> 
> Could this explain why 2.6.22.1-rt1 seems to use a lot of swap?  I've been as 
> high as 570 megs into swap, currently at 286megs after doing a 
> swapoff --a;swapon -a about 8 hours ago.

No, we disabled SLOB for now. So this is something different.

tglx


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-13 Thread Gene Heskett
On Friday 13 July 2007, Peter Williams wrote:
>Ingo Molnar wrote:
>> * Gregory Haskins <[EMAIL PROTECTED]> wrote:
>>> On Thu, 2007-07-12 at 14:07 +0200, Ingo Molnar wrote:
 * Gregory Haskins <[EMAIL PROTECTED]> wrote:
> Hi Ingo, Thomas, and the greater linux-rt community,
>
>   I just wanted to let you guys know that our team has a port of
> the 21.5-rt20 patch for the 2.6.22 kernel available. [...]

 great! We had the upstream -rt port to .22 in the works too, it was just
 held up by the hpet breakage - which Thomas managed to fix earlier
 today. I've released the 2.6.22.1-rt1 patch to the usual place:

 http://redhat.com/~mingo/realtime-preempt/
>>>
>>> Thats awesome, Ingo!  Thanks!  Could you publish a broken out version
>>> as well?  We found it extremely valuable to be able to bisect this
>>> beast while working on the 21-22 port.
>>
>> we are working on something in this area :) Stay tuned ...
>
>I've just been reviewing these patches and have spotted an error in the
>file mm/slob.c at lines 500-501 whereby a non existent variable "c" is
>referenced.  The attached patch is a proposed fix to the problem.

Could this explain why 2.6.22.1-rt1 seems to use a lot of swap?  I've been as 
high as 570 megs into swap, currently at 286megs after doing a 
swapoff --a;swapon -a about 8 hours ago.

-- 
Cheers, Gene
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Humorists always sit at the children's table.
-- Woody Allen
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-13 Thread Peter Williams
Ingo Molnar wrote:
> * Gregory Haskins <[EMAIL PROTECTED]> wrote:
> 
>> On Thu, 2007-07-12 at 14:07 +0200, Ingo Molnar wrote:
>>> * Gregory Haskins <[EMAIL PROTECTED]> wrote:
>>>
 Hi Ingo, Thomas, and the greater linux-rt community,
   
I just wanted to let you guys know that our team has a port of 
 the 21.5-rt20 patch for the 2.6.22 kernel available. [...]
>>> great! We had the upstream -rt port to .22 in the works too, it was just 
>>> held up by the hpet breakage - which Thomas managed to fix earlier 
>>> today. I've released the 2.6.22.1-rt1 patch to the usual place:
>>>
>>> http://redhat.com/~mingo/realtime-preempt/
>> Thats awesome, Ingo!  Thanks!  Could you publish a broken out version 
>> as well?  We found it extremely valuable to be able to bisect this 
>> beast while working on the 21-22 port.
> 
> we are working on something in this area :) Stay tuned ...

I've just been reviewing these patches and have spotted an error in the
file mm/slob.c at lines 500-501 whereby a non existent variable "c" is
referenced.  The attached patch is a proposed fix to the problem.

-- 
Peter Williams   [EMAIL PROTECTED]

"Learning, n. The kind of ignorance distinguishing the studious."
 -- Ambrose Bierce
Fix error in realtime-preempt patch for mm/slob.c

This error was caused by a change to slob_free()'s interface.

Signed-off-by: Peter Williams <[EMAIL PROTECTED]>

diff -r cb0010b7bffe mm/slob.c
--- a/mm/slob.c	Fri Jul 13 15:24:45 2007 +1000
+++ b/mm/slob.c	Fri Jul 13 16:23:02 2007 +1000
@@ -493,14 +493,14 @@ void *kmem_cache_zalloc(struct kmem_cach
 }
 EXPORT_SYMBOL(kmem_cache_zalloc);
 
-static void __kmem_cache_free(void *b, int size)
+static void __kmem_cache_free(struct kmem_cache *c, void *b)
 {
 	atomic_dec(>items);
 
 	if (c->size <= MAX_SLOB_CACHE_SIZE)
 		slob_free(c, b, c->size);
 	else
-		free_pages((unsigned long)b, get_order(size));
+		free_pages((unsigned long)b, get_order(c->size));
 }
 
 static void kmem_rcu_free(struct rcu_head *head)
@@ -508,7 +508,7 @@ static void kmem_rcu_free(struct rcu_hea
 	struct slob_rcu *slob_rcu = (struct slob_rcu *)head;
 	void *b = (void *)slob_rcu - (slob_rcu->size - sizeof(struct slob_rcu));
 
-	__kmem_cache_free(b, slob_rcu->size);
+	__kmem_cache_free(slob_rcu, b);
 }
 
 void kmem_cache_free(struct kmem_cache *c, void *b)
@@ -520,7 +520,7 @@ void kmem_cache_free(struct kmem_cache *
 		slob_rcu->size = c->size;
 		call_rcu(_rcu->head, kmem_rcu_free);
 	} else {
-		__kmem_cache_free(b, c->size);
+		__kmem_cache_free(c, b);
 	}
 }
 EXPORT_SYMBOL(kmem_cache_free);


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-13 Thread Thomas Gleixner
On Fri, 2007-07-13 at 16:25 +1000, Peter Williams wrote:
> > we are working on something in this area :) Stay tuned ...
> 
> I've just been reviewing these patches and have spotted an error in the
> file mm/slob.c at lines 500-501 whereby a non existent variable "c" is
> referenced.  The attached patch is a proposed fix to the problem.

Yep, the slob forward port is incomplete. Your patch is definitely more
correct than the stuff which is currently there.

Thanks,

tglx


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-13 Thread Thomas Gleixner
On Fri, 2007-07-13 at 16:25 +1000, Peter Williams wrote:
  we are working on something in this area :) Stay tuned ...
 
 I've just been reviewing these patches and have spotted an error in the
 file mm/slob.c at lines 500-501 whereby a non existent variable c is
 referenced.  The attached patch is a proposed fix to the problem.

Yep, the slob forward port is incomplete. Your patch is definitely more
correct than the stuff which is currently there.

Thanks,

tglx


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-13 Thread Peter Williams
Ingo Molnar wrote:
 * Gregory Haskins [EMAIL PROTECTED] wrote:
 
 On Thu, 2007-07-12 at 14:07 +0200, Ingo Molnar wrote:
 * Gregory Haskins [EMAIL PROTECTED] wrote:

 Hi Ingo, Thomas, and the greater linux-rt community,
   
I just wanted to let you guys know that our team has a port of 
 the 21.5-rt20 patch for the 2.6.22 kernel available. [...]
 great! We had the upstream -rt port to .22 in the works too, it was just 
 held up by the hpet breakage - which Thomas managed to fix earlier 
 today. I've released the 2.6.22.1-rt1 patch to the usual place:

 http://redhat.com/~mingo/realtime-preempt/
 Thats awesome, Ingo!  Thanks!  Could you publish a broken out version 
 as well?  We found it extremely valuable to be able to bisect this 
 beast while working on the 21-22 port.
 
 we are working on something in this area :) Stay tuned ...

I've just been reviewing these patches and have spotted an error in the
file mm/slob.c at lines 500-501 whereby a non existent variable c is
referenced.  The attached patch is a proposed fix to the problem.

-- 
Peter Williams   [EMAIL PROTECTED]

Learning, n. The kind of ignorance distinguishing the studious.
 -- Ambrose Bierce
Fix error in realtime-preempt patch for mm/slob.c

This error was caused by a change to slob_free()'s interface.

Signed-off-by: Peter Williams [EMAIL PROTECTED]

diff -r cb0010b7bffe mm/slob.c
--- a/mm/slob.c	Fri Jul 13 15:24:45 2007 +1000
+++ b/mm/slob.c	Fri Jul 13 16:23:02 2007 +1000
@@ -493,14 +493,14 @@ void *kmem_cache_zalloc(struct kmem_cach
 }
 EXPORT_SYMBOL(kmem_cache_zalloc);
 
-static void __kmem_cache_free(void *b, int size)
+static void __kmem_cache_free(struct kmem_cache *c, void *b)
 {
 	atomic_dec(c-items);
 
 	if (c-size = MAX_SLOB_CACHE_SIZE)
 		slob_free(c, b, c-size);
 	else
-		free_pages((unsigned long)b, get_order(size));
+		free_pages((unsigned long)b, get_order(c-size));
 }
 
 static void kmem_rcu_free(struct rcu_head *head)
@@ -508,7 +508,7 @@ static void kmem_rcu_free(struct rcu_hea
 	struct slob_rcu *slob_rcu = (struct slob_rcu *)head;
 	void *b = (void *)slob_rcu - (slob_rcu-size - sizeof(struct slob_rcu));
 
-	__kmem_cache_free(b, slob_rcu-size);
+	__kmem_cache_free(slob_rcu, b);
 }
 
 void kmem_cache_free(struct kmem_cache *c, void *b)
@@ -520,7 +520,7 @@ void kmem_cache_free(struct kmem_cache *
 		slob_rcu-size = c-size;
 		call_rcu(slob_rcu-head, kmem_rcu_free);
 	} else {
-		__kmem_cache_free(b, c-size);
+		__kmem_cache_free(c, b);
 	}
 }
 EXPORT_SYMBOL(kmem_cache_free);


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-13 Thread Benjamin Herrenschmidt
On Thu, 2007-07-12 at 18:33 +0200, Ingo Molnar wrote:
 * Gregory Haskins [EMAIL PROTECTED] wrote:
 
For the most part, it seems you guys have resolved most of the 
  issues that we ran into as well (e.g. early-flush-tlb, relocated 
  die-notifier, etc, come to mind).  I found one patch that was missing 
  that allows debug configurations to build properly.  Heres that patch:
  
  --- linux-2.6.21.orig/kernel/latency_trace.c
  +++ linux-2.6.21/kernel/latency_trace.c
  @@ -24,6 +24,7 @@
   #include linux/utsrelease.h
   #include asm/uaccess.h
   #include asm/unistd.h
  +#include asm/asm-offsets.h
 
 i think this breaks PPC (which has no asm-offsets.h file). In any case i 
 saw this build breakage too and the fix is in -rt2.

Nah, ppc and powerpc both have asm-offset.h

Cheers,
Ben.

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-13 Thread Gene Heskett
On Friday 13 July 2007, Peter Williams wrote:
Ingo Molnar wrote:
 * Gregory Haskins [EMAIL PROTECTED] wrote:
 On Thu, 2007-07-12 at 14:07 +0200, Ingo Molnar wrote:
 * Gregory Haskins [EMAIL PROTECTED] wrote:
 Hi Ingo, Thomas, and the greater linux-rt community,

   I just wanted to let you guys know that our team has a port of
 the 21.5-rt20 patch for the 2.6.22 kernel available. [...]

 great! We had the upstream -rt port to .22 in the works too, it was just
 held up by the hpet breakage - which Thomas managed to fix earlier
 today. I've released the 2.6.22.1-rt1 patch to the usual place:

 http://redhat.com/~mingo/realtime-preempt/

 Thats awesome, Ingo!  Thanks!  Could you publish a broken out version
 as well?  We found it extremely valuable to be able to bisect this
 beast while working on the 21-22 port.

 we are working on something in this area :) Stay tuned ...

I've just been reviewing these patches and have spotted an error in the
file mm/slob.c at lines 500-501 whereby a non existent variable c is
referenced.  The attached patch is a proposed fix to the problem.

Could this explain why 2.6.22.1-rt1 seems to use a lot of swap?  I've been as 
high as 570 megs into swap, currently at 286megs after doing a 
swapoff --a;swapon -a about 8 hours ago.

-- 
Cheers, Gene
There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order.
-Ed Howdershelt (Author)
Humorists always sit at the children's table.
-- Woody Allen
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-13 Thread Thomas Gleixner
On Fri, 2007-07-13 at 04:43 -0400, Gene Heskett wrote:
  we are working on something in this area :) Stay tuned ...
 
 I've just been reviewing these patches and have spotted an error in the
 file mm/slob.c at lines 500-501 whereby a non existent variable c is
 referenced.  The attached patch is a proposed fix to the problem.
 
 Could this explain why 2.6.22.1-rt1 seems to use a lot of swap?  I've been as 
 high as 570 megs into swap, currently at 286megs after doing a 
 swapoff --a;swapon -a about 8 hours ago.

No, we disabled SLOB for now. So this is something different.

tglx


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-13 Thread Gene Heskett
On Friday 13 July 2007, Peter Williams wrote:
Gene Heskett wrote:
 On Friday 13 July 2007, Peter Williams wrote:
 Ingo Molnar wrote:
 * Gregory Haskins [EMAIL PROTECTED] wrote:
 On Thu, 2007-07-12 at 14:07 +0200, Ingo Molnar wrote:
 * Gregory Haskins [EMAIL PROTECTED] wrote:
 Hi Ingo, Thomas, and the greater linux-rt community,

 I just wanted to let you guys know that our team has a port of
 the 21.5-rt20 patch for the 2.6.22 kernel available. [...]

 great! We had the upstream -rt port to .22 in the works too, it was
 just held up by the hpet breakage - which Thomas managed to fix
 earlier today. I've released the 2.6.22.1-rt1 patch to the usual
 place:

 http://redhat.com/~mingo/realtime-preempt/

 Thats awesome, Ingo!  Thanks!  Could you publish a broken out version
 as well?  We found it extremely valuable to be able to bisect this
 beast while working on the 21-22 port.

 we are working on something in this area :) Stay tuned ...

 I've just been reviewing these patches and have spotted an error in the
 file mm/slob.c at lines 500-501 whereby a non existent variable c is
 referenced.  The attached patch is a proposed fix to the problem.

 Could this explain why 2.6.22.1-rt1 seems to use a lot of swap?  I've been
 as high as 570 megs into swap, currently at 286megs after doing a
 swapoff --a;swapon -a about 8 hours ago.

No.  This problem would have caused the build to fail if slob was
configured.

Peter

Which, now that I've gone back and looked only has SLAB as the choice in the 
make xconfig.  It did that switch rather silently as I had been using SLUB 
all the way through the 2.6.22-rcN series just to exersize the new option.

In any event, both rt2 and rt3 seem to have that under total control now.  No 
swap is being indicated by htop, and kmail is up to 122 megs.  Uptime with 
rt3 is 8.5 hours now  so far everything is running rather nicely.  Except of 
course for tvtime.  I fwd'd the logs from that to the v4l list, but haven't 
been graced with a reply as yet.

Thanks Peter.

-- 
Cheers, Gene
There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order.
-Ed Howdershelt (Author)
There are three ways to get something done:
(1) Do it yourself.
(2) Hire someone to do it for you.
(3) Forbid your kids to do it.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-13 Thread Peter Williams
Gene Heskett wrote:
 On Friday 13 July 2007, Peter Williams wrote:
 Ingo Molnar wrote:
 * Gregory Haskins [EMAIL PROTECTED] wrote:
 On Thu, 2007-07-12 at 14:07 +0200, Ingo Molnar wrote:
 * Gregory Haskins [EMAIL PROTECTED] wrote:
 Hi Ingo, Thomas, and the greater linux-rt community,

  I just wanted to let you guys know that our team has a port of
 the 21.5-rt20 patch for the 2.6.22 kernel available. [...]
 great! We had the upstream -rt port to .22 in the works too, it was just
 held up by the hpet breakage - which Thomas managed to fix earlier
 today. I've released the 2.6.22.1-rt1 patch to the usual place:

 http://redhat.com/~mingo/realtime-preempt/
 Thats awesome, Ingo!  Thanks!  Could you publish a broken out version
 as well?  We found it extremely valuable to be able to bisect this
 beast while working on the 21-22 port.
 we are working on something in this area :) Stay tuned ...
 I've just been reviewing these patches and have spotted an error in the
 file mm/slob.c at lines 500-501 whereby a non existent variable c is
 referenced.  The attached patch is a proposed fix to the problem.
 
 Could this explain why 2.6.22.1-rt1 seems to use a lot of swap?  I've been as 
 high as 570 megs into swap, currently at 286megs after doing a 
 swapoff --a;swapon -a about 8 hours ago.

No.  This problem would have caused the build to fail if slob was
configured.

Peter
-- 
Peter Williams   [EMAIL PROTECTED]

Learning, n. The kind of ignorance distinguishing the studious.
 -- Ambrose Bierce
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-12 Thread Sven-Thorsten Dietrich
On Thu, 2007-07-12 at 18:33 +0200, Ingo Molnar wrote:
> * Gregory Haskins <[EMAIL PROTECTED]> wrote:
> 

> 
> ok. Make sure you check rt2 as well - and note that it's not fully 
> bisectable with PREEMPT_RT enabled (but should probably be fully 
> bisectable with PREEMPT_RT disabled). So check out first whether the 
> problem still persists with PREEMPT_RT disabled.
> 

There is also a regression on my Dell 690 dual-quadcore

rt2 hangs like a brick at boot. rt1 comes up fine.

I am configured at max 8 CPUs so it doesn't seem to be an out of memory
situation.

I'll look at the interdiffs and see what I can find.

Regards,

Sven

>   Ingo
-- 
Sven-Thorsten Dietrich
+1 415 694-2930
( www.novell.com/linux )

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-12 Thread Ingo Molnar

* Gregory Haskins <[EMAIL PROTECTED]> wrote:

>   For the most part, it seems you guys have resolved most of the 
> issues that we ran into as well (e.g. early-flush-tlb, relocated 
> die-notifier, etc, come to mind).  I found one patch that was missing 
> that allows debug configurations to build properly.  Heres that patch:
> 
> --- linux-2.6.21.orig/kernel/latency_trace.c
> +++ linux-2.6.21/kernel/latency_trace.c
> @@ -24,6 +24,7 @@
>  #include 
>  #include 
>  #include 
> +#include 

i think this breaks PPC (which has no asm-offsets.h file). In any case i 
saw this build breakage too and the fix is in -rt2.

> We did find a regression.  I was mistaken earlier when I mentioned our 
> T60p laptops couldn't boot.  It turns out that issue was resolved 
> somewhere along the way and our published patches based on 21.5-rt19 
> do allow the laptop to boot event with acpi=on.  With 22.1-rt1 the 
> laptop crashes unless acpi=off.  Now that we have your queue we will 
> bisect this and post that fix as well.

ok. Make sure you check rt2 as well - and note that it's not fully 
bisectable with PREEMPT_RT enabled (but should probably be fully 
bisectable with PREEMPT_RT disabled). So check out first whether the 
problem still persists with PREEMPT_RT disabled.

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-12 Thread Gregory Haskins
On Thu, 2007-07-12 at 14:07 +0200, Ingo Molnar wrote:
> great! We had the upstream -rt port to .22 in the works too, it was just 
> held up by the hpet breakage - which Thomas managed to fix earlier 
> today. I've released the 2.6.22.1-rt1 patch to the usual place:
> 
> http://redhat.com/~mingo/realtime-preempt/

Hi Ingo,
  For the most part, it seems you guys have resolved most of the issues
that we ran into as well (e.g. early-flush-tlb, relocated die-notifier,
etc, come to mind).  I found one patch that was missing that allows
debug configurations to build properly.  Heres that patch:

--- linux-2.6.21.orig/kernel/latency_trace.c
+++ linux-2.6.21/kernel/latency_trace.c
@@ -24,6 +24,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 

With this patch in place, I am able to build/boot both a 21.1-rt1 kernel
with a standard x86_64 PREEMPT_RT+SMP both with and without the usual
debug options, so that is great!

We did find a regression.  I was mistaken earlier when I mentioned our
T60p laptops couldn't boot.  It turns out that issue was resolved
somewhere along the way and our published patches based on 21.5-rt19 do
allow the laptop to boot event with acpi=on.  With 22.1-rt1 the laptop
crashes unless acpi=off.  Now that we have your queue we will bisect
this and post that fix as well.

Thanks!
-Greg


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-12 Thread Ingo Molnar

* Gregory Haskins <[EMAIL PROTECTED]> wrote:

> On Thu, 2007-07-12 at 14:07 +0200, Ingo Molnar wrote:
> > * Gregory Haskins <[EMAIL PROTECTED]> wrote:
> > 
> > > Hi Ingo, Thomas, and the greater linux-rt community,
> > >   
> > >   I just wanted to let you guys know that our team has a port of 
> > > the 21.5-rt20 patch for the 2.6.22 kernel available. [...]
> > 
> > great! We had the upstream -rt port to .22 in the works too, it was just 
> > held up by the hpet breakage - which Thomas managed to fix earlier 
> > today. I've released the 2.6.22.1-rt1 patch to the usual place:
> > 
> > http://redhat.com/~mingo/realtime-preempt/
> 
> Thats awesome, Ingo!  Thanks!  Could you publish a broken out version 
> as well?  We found it extremely valuable to be able to bisect this 
> beast while working on the 21-22 port.

we are working on something in this area :) Stay tuned ...

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-12 Thread Gregory Haskins
On Thu, 2007-07-12 at 14:07 +0200, Ingo Molnar wrote:
> * Gregory Haskins <[EMAIL PROTECTED]> wrote:
> 
> > Hi Ingo, Thomas, and the greater linux-rt community,
> >   
> > I just wanted to let you guys know that our team has a port of 
> > the 21.5-rt20 patch for the 2.6.22 kernel available. [...]
> 
> great! We had the upstream -rt port to .22 in the works too, it was just 
> held up by the hpet breakage - which Thomas managed to fix earlier 
> today. I've released the 2.6.22.1-rt1 patch to the usual place:
> 
> http://redhat.com/~mingo/realtime-preempt/

Thats awesome, Ingo!  Thanks!  Could you publish a broken out version as
well?  We found it extremely valuable to be able to bisect this beast
while working on the 21-22 port.

> 
> I took a quick look at the delta between .22.1-rt1 and your rt1 merge, 
> and the delta patch is quite large and i saw no obvious fixes to pick 
> up. Could you please filter out any fixes that you might have in your 
> tree that you think should be applied, and send it to us as a delta 
> against .22.1-rt1? 

Will do


> (And, as Daniel suggested, in the future, could you _please_ use a 
> different naming scheme instead of using up the upstream -rt namespace.)

Yeah, sorry about that.

-Greg

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-12 Thread Ingo Molnar
* Gregory Haskins <[EMAIL PROTECTED]> wrote:

> Hi Ingo, Thomas, and the greater linux-rt community,
>   
>   I just wanted to let you guys know that our team has a port of 
> the 21.5-rt20 patch for the 2.6.22 kernel available. [...]

great! We had the upstream -rt port to .22 in the works too, it was just 
held up by the hpet breakage - which Thomas managed to fix earlier 
today. I've released the 2.6.22.1-rt1 patch to the usual place:

http://redhat.com/~mingo/realtime-preempt/

I took a quick look at the delta between .22.1-rt1 and your rt1 merge, 
and the delta patch is quite large and i saw no obvious fixes to pick 
up. Could you please filter out any fixes that you might have in your 
tree that you think should be applied, and send it to us as a delta 
against .22.1-rt1? Alessio, could you please also do the same and check 
for any diffs that should be applied? Thanks!

(And, as Daniel suggested, in the future, could you _please_ use a 
different naming scheme instead of using up the upstream -rt namespace.)

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-12 Thread Gregory Haskins
On Thu, 2007-07-12 at 00:58 +, Gregory Haskins wrote:
> Hi Ingo, Thomas, and the greater linux-rt community,
>   
>   I just wanted to let you guys know that our team has a port of the
> 21.5-rt20 patch for the 2.6.22 kernel available.  

Ok, we have incorporated some of the feedback from you guys and made a
new drop: rt2

Changes:

*) split into series

*) split the rt patch into two sections.  The first is .21.5-rt19 after
it applies to 2.6.22 minus the rejects.  The second patch is the
resolution of those rejects + our fixes (sorry, dont have this broken
down finer grained yet) (Thanks to Daniel for this suggestion)

*) We rolled Alessio's fix for duplication of div64 into the rt patch

*) We added Alessio's fix for percpu to the series

Notably missing:

*) We are still at rt19.  We will push rt20 in shortly, and rt21 as
available.

You can find the patch here:
ftp://ftp.novell.com/dev/patches-2.6.22-rt2.tar.gz

Thanks for the feedback, guys!

Regards,
-Greg

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-12 Thread Gregory Haskins
On Thu, 2007-07-12 at 07:14 +0200, Thomas Gleixner wrote:
> On Wed, 2007-07-11 at 20:58 -0400, Gregory Haskins wrote:
> > Note also that we find that the resulting kernel does not boot on some
> > T60p thinkpads without "acpi=off".  We are still investigating the root
> > cause here.
> 
> Try "nohpet" for now. I'm investigating it on the -hrt side as well.
> 

Ah, good to know others are looking at it.

On a different front, I see .21.6-rt21 came out in the last 24 hours.
Were there any fixes that went in between rt20-21 here, or was it simply
a forward port?  If fixes, could you possibly share them to save me the
effort of working it out myself?  I will then push the next version of
the 22-based forward port to rt21 today.

Regards,
-Greg

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-12 Thread Alessio Igor Bogani
Hi All,

Sorry for my poor english.

On Wed, 2007-07-11 at 20:58 -0400, Gregory Haskins wrote:
[...]
>   I just wanted to let you guys know that our team has a port of the
> 21.5-rt20 patch for the 2.6.22 kernel available.

Great! Thanks a lot for effort!

I'm doing the same thing and i don't have doubt your work is better than
mine. In any case i have a couple of suggestions for your patch (one is
a simple duplication definition and the other for build kernel with
CONFIG_SMP on i386).

Please keep me updated!

Hope these helps.

Ciao,
Alessio
diff -ruNp linux-2.6.22-rt1.orig/lib/div64.c linux-2.6.22-rt1.test/lib/div64.c
--- linux-2.6.22-rt1.orig/lib/div64.c	2007-07-12 08:57:33.0 +0200
+++ linux-2.6.22-rt1.test/lib/div64.c	2007-07-12 08:49:47.0 +0200
@@ -78,26 +78,4 @@ uint64_t div64_64(uint64_t dividend, uin
 }
 EXPORT_SYMBOL(div64_64);
 
-/* 64bit divisor, dividend and result. dynamic precision */
-uint64_t div64_64(uint64_t dividend, uint64_t divisor)
-{
-	uint32_t d = divisor;
-
-	if (divisor > 0xULL) {
-		unsigned int shift = fls(divisor >> 32);
-
-		d = divisor >> shift;
-		dividend >>= shift;
-	}
-
-	/* avoid 64 bit division if possible */
-	if (dividend >> 32)
-		do_div(dividend, d);
-	else
-		dividend = (uint32_t) dividend / d;
-
-	return dividend;
-}
-EXPORT_SYMBOL(div64_64);
-
 #endif /* BITS_PER_LONG == 32 */
diff -ruNp linux-2.6.22-rt1.orig/include/asm-generic/percpu.h linux-2.6.22-rt1.test/include/asm-generic/percpu.h
--- linux-2.6.22-rt1.orig/include/asm-generic/percpu.h	2007-07-12 09:13:08.0 +0200
+++ linux-2.6.22-rt1.test/include/asm-generic/percpu.h	2007-07-12 09:04:53.0 +0200
@@ -14,10 +14,6 @@ extern unsigned long __per_cpu_offset[NR
 #define DEFINE_PER_CPU(type, name) \
 __attribute__((__section__(".data.percpu"))) __typeof__(type) per_cpu__##name
 
-#define DEFINE_PER_CPU_LOCKED(type, name) \
-__attribute__((__section__(".data.percpu"))) __DEFINE_SPINLOCK(per_cpu_lock__##name##_locked); \
-__attribute__((__section__(".data.percpu"))) __typeof__(type) per_cpu__##name##_locked
-
 /* var is in discarded region: offset to particular copy we want */
 #define per_cpu(var, cpu) (*({\
 	extern int simple_identifier_##var(void);	\
@@ -25,15 +21,6 @@ extern unsigned long __per_cpu_offset[NR
 #define __get_cpu_var(var) per_cpu(var, smp_processor_id())
 #define __raw_get_cpu_var(var) per_cpu(var, raw_smp_processor_id())
 
-#define per_cpu_lock(var, cpu) \
-	(*RELOC_HIDE(_cpu_lock__##var##_locked, __per_cpu_offset[cpu]))
-#define per_cpu_var_locked(var, cpu) \
-		(*RELOC_HIDE(_cpu__##var##_locked, __per_cpu_offset[cpu]))
-#define __get_cpu_lock(var, cpu) \
-		per_cpu_lock(var, cpu)
-#define __get_cpu_var_locked(var, cpu) \
-		per_cpu_var_locked(var, cpu)
-
 /* A macro to avoid #include hell... */
 #define percpu_modcopy(pcpudst, src, size)			\
 do {\
@@ -60,13 +47,8 @@ do {\
 #endif	/* SMP */
 
 #define DECLARE_PER_CPU(type, name) extern __typeof__(type) per_cpu__##name
-#define DECLARE_PER_CPU_LOCKED(type, name) \
-extern spinlock_t per_cpu_lock__##name##_locked; \
-extern __typeof__(type) per_cpu__##name##_locked
 
 #define EXPORT_PER_CPU_SYMBOL(var) EXPORT_SYMBOL(per_cpu__##var)
 #define EXPORT_PER_CPU_SYMBOL_GPL(var) EXPORT_SYMBOL_GPL(per_cpu__##var)
-#define EXPORT_PER_CPU_LOCKED_SYMBOL(var) EXPORT_SYMBOL(per_cpu_lock__##var##_locked); EXPORT_SYMBOL(per_cpu__##var##_locked)
-#define EXPORT_PER_CPU_LOCKED_SYMBOL_GPL(var) EXPORT_SYMBOL_GPL(per_cpu_lock__##var##_locked); EXPORT_SYMBOL_GPL(per_cpu__##var##_locked)
 
 #endif /* _ASM_GENERIC_PERCPU_H_ */
diff -ruNp linux-2.6.22-rt1.orig/include/asm-i386/percpu.h linux-2.6.22-rt1.test/include/asm-i386/percpu.h
--- linux-2.6.22-rt1.orig/include/asm-i386/percpu.h	2007-07-12 09:13:32.0 +0200
+++ linux-2.6.22-rt1.test/include/asm-i386/percpu.h	2007-07-12 09:05:12.0 +0200
@@ -54,6 +54,10 @@ extern unsigned long __per_cpu_offset[];
 #define DEFINE_PER_CPU(type, name) \
 __attribute__((__section__(".data.percpu"))) __typeof__(type) per_cpu__##name
 
+#define DEFINE_PER_CPU_LOCKED(type, name) \
+__attribute__((__section__(".data.percpu"))) __DEFINE_SPINLOCK(per_cpu_lock__##name##_locked); \
+__attribute__((__section__(".data.percpu"))) __typeof__(type) per_cpu__##name##_locked
+
 /* We can use this directly for local CPU (faster). */
 DECLARE_PER_CPU(unsigned long, this_cpu_off);
 
@@ -69,6 +73,15 @@ DECLARE_PER_CPU(unsigned long, this_cpu_
 
 #define __get_cpu_var(var) __raw_get_cpu_var(var)
 
+#define per_cpu_lock(var, cpu) \
+	(*RELOC_HIDE(_cpu_lock__##var##_locked, __per_cpu_offset[cpu]))
+#define per_cpu_var_locked(var, cpu) \
+		(*RELOC_HIDE(_cpu__##var##_locked, __per_cpu_offset[cpu]))
+#define __get_cpu_lock(var, cpu) \
+		per_cpu_lock(var, cpu)
+#define __get_cpu_var_locked(var, cpu) \
+		per_cpu_var_locked(var, cpu)
+
 /* A macro to avoid #include hell... */
 #define percpu_modcopy(pcpudst, src, size)			\
 do {\
@@ -144,6 

Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-12 Thread Alessio Igor Bogani
Hi All,

Sorry for my poor english.

On Wed, 2007-07-11 at 20:58 -0400, Gregory Haskins wrote:
[...]
   I just wanted to let you guys know that our team has a port of the
 21.5-rt20 patch for the 2.6.22 kernel available.

Great! Thanks a lot for effort!

I'm doing the same thing and i don't have doubt your work is better than
mine. In any case i have a couple of suggestions for your patch (one is
a simple duplication definition and the other for build kernel with
CONFIG_SMP on i386).

Please keep me updated!

Hope these helps.

Ciao,
Alessio
diff -ruNp linux-2.6.22-rt1.orig/lib/div64.c linux-2.6.22-rt1.test/lib/div64.c
--- linux-2.6.22-rt1.orig/lib/div64.c	2007-07-12 08:57:33.0 +0200
+++ linux-2.6.22-rt1.test/lib/div64.c	2007-07-12 08:49:47.0 +0200
@@ -78,26 +78,4 @@ uint64_t div64_64(uint64_t dividend, uin
 }
 EXPORT_SYMBOL(div64_64);
 
-/* 64bit divisor, dividend and result. dynamic precision */
-uint64_t div64_64(uint64_t dividend, uint64_t divisor)
-{
-	uint32_t d = divisor;
-
-	if (divisor  0xULL) {
-		unsigned int shift = fls(divisor  32);
-
-		d = divisor  shift;
-		dividend = shift;
-	}
-
-	/* avoid 64 bit division if possible */
-	if (dividend  32)
-		do_div(dividend, d);
-	else
-		dividend = (uint32_t) dividend / d;
-
-	return dividend;
-}
-EXPORT_SYMBOL(div64_64);
-
 #endif /* BITS_PER_LONG == 32 */
diff -ruNp linux-2.6.22-rt1.orig/include/asm-generic/percpu.h linux-2.6.22-rt1.test/include/asm-generic/percpu.h
--- linux-2.6.22-rt1.orig/include/asm-generic/percpu.h	2007-07-12 09:13:08.0 +0200
+++ linux-2.6.22-rt1.test/include/asm-generic/percpu.h	2007-07-12 09:04:53.0 +0200
@@ -14,10 +14,6 @@ extern unsigned long __per_cpu_offset[NR
 #define DEFINE_PER_CPU(type, name) \
 __attribute__((__section__(.data.percpu))) __typeof__(type) per_cpu__##name
 
-#define DEFINE_PER_CPU_LOCKED(type, name) \
-__attribute__((__section__(.data.percpu))) __DEFINE_SPINLOCK(per_cpu_lock__##name##_locked); \
-__attribute__((__section__(.data.percpu))) __typeof__(type) per_cpu__##name##_locked
-
 /* var is in discarded region: offset to particular copy we want */
 #define per_cpu(var, cpu) (*({\
 	extern int simple_identifier_##var(void);	\
@@ -25,15 +21,6 @@ extern unsigned long __per_cpu_offset[NR
 #define __get_cpu_var(var) per_cpu(var, smp_processor_id())
 #define __raw_get_cpu_var(var) per_cpu(var, raw_smp_processor_id())
 
-#define per_cpu_lock(var, cpu) \
-	(*RELOC_HIDE(per_cpu_lock__##var##_locked, __per_cpu_offset[cpu]))
-#define per_cpu_var_locked(var, cpu) \
-		(*RELOC_HIDE(per_cpu__##var##_locked, __per_cpu_offset[cpu]))
-#define __get_cpu_lock(var, cpu) \
-		per_cpu_lock(var, cpu)
-#define __get_cpu_var_locked(var, cpu) \
-		per_cpu_var_locked(var, cpu)
-
 /* A macro to avoid #include hell... */
 #define percpu_modcopy(pcpudst, src, size)			\
 do {\
@@ -60,13 +47,8 @@ do {\
 #endif	/* SMP */
 
 #define DECLARE_PER_CPU(type, name) extern __typeof__(type) per_cpu__##name
-#define DECLARE_PER_CPU_LOCKED(type, name) \
-extern spinlock_t per_cpu_lock__##name##_locked; \
-extern __typeof__(type) per_cpu__##name##_locked
 
 #define EXPORT_PER_CPU_SYMBOL(var) EXPORT_SYMBOL(per_cpu__##var)
 #define EXPORT_PER_CPU_SYMBOL_GPL(var) EXPORT_SYMBOL_GPL(per_cpu__##var)
-#define EXPORT_PER_CPU_LOCKED_SYMBOL(var) EXPORT_SYMBOL(per_cpu_lock__##var##_locked); EXPORT_SYMBOL(per_cpu__##var##_locked)
-#define EXPORT_PER_CPU_LOCKED_SYMBOL_GPL(var) EXPORT_SYMBOL_GPL(per_cpu_lock__##var##_locked); EXPORT_SYMBOL_GPL(per_cpu__##var##_locked)
 
 #endif /* _ASM_GENERIC_PERCPU_H_ */
diff -ruNp linux-2.6.22-rt1.orig/include/asm-i386/percpu.h linux-2.6.22-rt1.test/include/asm-i386/percpu.h
--- linux-2.6.22-rt1.orig/include/asm-i386/percpu.h	2007-07-12 09:13:32.0 +0200
+++ linux-2.6.22-rt1.test/include/asm-i386/percpu.h	2007-07-12 09:05:12.0 +0200
@@ -54,6 +54,10 @@ extern unsigned long __per_cpu_offset[];
 #define DEFINE_PER_CPU(type, name) \
 __attribute__((__section__(.data.percpu))) __typeof__(type) per_cpu__##name
 
+#define DEFINE_PER_CPU_LOCKED(type, name) \
+__attribute__((__section__(.data.percpu))) __DEFINE_SPINLOCK(per_cpu_lock__##name##_locked); \
+__attribute__((__section__(.data.percpu))) __typeof__(type) per_cpu__##name##_locked
+
 /* We can use this directly for local CPU (faster). */
 DECLARE_PER_CPU(unsigned long, this_cpu_off);
 
@@ -69,6 +73,15 @@ DECLARE_PER_CPU(unsigned long, this_cpu_
 
 #define __get_cpu_var(var) __raw_get_cpu_var(var)
 
+#define per_cpu_lock(var, cpu) \
+	(*RELOC_HIDE(per_cpu_lock__##var##_locked, __per_cpu_offset[cpu]))
+#define per_cpu_var_locked(var, cpu) \
+		(*RELOC_HIDE(per_cpu__##var##_locked, __per_cpu_offset[cpu]))
+#define __get_cpu_lock(var, cpu) \
+		per_cpu_lock(var, cpu)
+#define __get_cpu_var_locked(var, cpu) \
+		per_cpu_var_locked(var, cpu)
+
 /* A macro to avoid #include hell... */
 #define percpu_modcopy(pcpudst, src, size)			\
 do {\
@@ -144,6 +157,14 @@ extern 

Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-12 Thread Gregory Haskins
On Thu, 2007-07-12 at 07:14 +0200, Thomas Gleixner wrote:
 On Wed, 2007-07-11 at 20:58 -0400, Gregory Haskins wrote:
  Note also that we find that the resulting kernel does not boot on some
  T60p thinkpads without acpi=off.  We are still investigating the root
  cause here.
 
 Try nohpet for now. I'm investigating it on the -hrt side as well.
 

Ah, good to know others are looking at it.

On a different front, I see .21.6-rt21 came out in the last 24 hours.
Were there any fixes that went in between rt20-21 here, or was it simply
a forward port?  If fixes, could you possibly share them to save me the
effort of working it out myself?  I will then push the next version of
the 22-based forward port to rt21 today.

Regards,
-Greg

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-12 Thread Gregory Haskins
On Thu, 2007-07-12 at 00:58 +, Gregory Haskins wrote:
 Hi Ingo, Thomas, and the greater linux-rt community,
   
   I just wanted to let you guys know that our team has a port of the
 21.5-rt20 patch for the 2.6.22 kernel available.  

Ok, we have incorporated some of the feedback from you guys and made a
new drop: rt2

Changes:

*) split into series

*) split the rt patch into two sections.  The first is .21.5-rt19 after
it applies to 2.6.22 minus the rejects.  The second patch is the
resolution of those rejects + our fixes (sorry, dont have this broken
down finer grained yet) (Thanks to Daniel for this suggestion)

*) We rolled Alessio's fix for duplication of div64 into the rt patch

*) We added Alessio's fix for percpu to the series

Notably missing:

*) We are still at rt19.  We will push rt20 in shortly, and rt21 as
available.

You can find the patch here:
ftp://ftp.novell.com/dev/patches-2.6.22-rt2.tar.gz

Thanks for the feedback, guys!

Regards,
-Greg

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-12 Thread Ingo Molnar
* Gregory Haskins [EMAIL PROTECTED] wrote:

 Hi Ingo, Thomas, and the greater linux-rt community,
   
   I just wanted to let you guys know that our team has a port of 
 the 21.5-rt20 patch for the 2.6.22 kernel available. [...]

great! We had the upstream -rt port to .22 in the works too, it was just 
held up by the hpet breakage - which Thomas managed to fix earlier 
today. I've released the 2.6.22.1-rt1 patch to the usual place:

http://redhat.com/~mingo/realtime-preempt/

I took a quick look at the delta between .22.1-rt1 and your rt1 merge, 
and the delta patch is quite large and i saw no obvious fixes to pick 
up. Could you please filter out any fixes that you might have in your 
tree that you think should be applied, and send it to us as a delta 
against .22.1-rt1? Alessio, could you please also do the same and check 
for any diffs that should be applied? Thanks!

(And, as Daniel suggested, in the future, could you _please_ use a 
different naming scheme instead of using up the upstream -rt namespace.)

Ingo
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-12 Thread Gregory Haskins
On Thu, 2007-07-12 at 14:07 +0200, Ingo Molnar wrote:
 * Gregory Haskins [EMAIL PROTECTED] wrote:
 
  Hi Ingo, Thomas, and the greater linux-rt community,

  I just wanted to let you guys know that our team has a port of 
  the 21.5-rt20 patch for the 2.6.22 kernel available. [...]
 
 great! We had the upstream -rt port to .22 in the works too, it was just 
 held up by the hpet breakage - which Thomas managed to fix earlier 
 today. I've released the 2.6.22.1-rt1 patch to the usual place:
 
 http://redhat.com/~mingo/realtime-preempt/

Thats awesome, Ingo!  Thanks!  Could you publish a broken out version as
well?  We found it extremely valuable to be able to bisect this beast
while working on the 21-22 port.

 
 I took a quick look at the delta between .22.1-rt1 and your rt1 merge, 
 and the delta patch is quite large and i saw no obvious fixes to pick 
 up. Could you please filter out any fixes that you might have in your 
 tree that you think should be applied, and send it to us as a delta 
 against .22.1-rt1? 

Will do


 (And, as Daniel suggested, in the future, could you _please_ use a 
 different naming scheme instead of using up the upstream -rt namespace.)

Yeah, sorry about that.

-Greg

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-12 Thread Ingo Molnar

* Gregory Haskins [EMAIL PROTECTED] wrote:

 On Thu, 2007-07-12 at 14:07 +0200, Ingo Molnar wrote:
  * Gregory Haskins [EMAIL PROTECTED] wrote:
  
   Hi Ingo, Thomas, and the greater linux-rt community,
 
 I just wanted to let you guys know that our team has a port of 
   the 21.5-rt20 patch for the 2.6.22 kernel available. [...]
  
  great! We had the upstream -rt port to .22 in the works too, it was just 
  held up by the hpet breakage - which Thomas managed to fix earlier 
  today. I've released the 2.6.22.1-rt1 patch to the usual place:
  
  http://redhat.com/~mingo/realtime-preempt/
 
 Thats awesome, Ingo!  Thanks!  Could you publish a broken out version 
 as well?  We found it extremely valuable to be able to bisect this 
 beast while working on the 21-22 port.

we are working on something in this area :) Stay tuned ...

Ingo
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-12 Thread Gregory Haskins
On Thu, 2007-07-12 at 14:07 +0200, Ingo Molnar wrote:
 great! We had the upstream -rt port to .22 in the works too, it was just 
 held up by the hpet breakage - which Thomas managed to fix earlier 
 today. I've released the 2.6.22.1-rt1 patch to the usual place:
 
 http://redhat.com/~mingo/realtime-preempt/

Hi Ingo,
  For the most part, it seems you guys have resolved most of the issues
that we ran into as well (e.g. early-flush-tlb, relocated die-notifier,
etc, come to mind).  I found one patch that was missing that allows
debug configurations to build properly.  Heres that patch:

--- linux-2.6.21.orig/kernel/latency_trace.c
+++ linux-2.6.21/kernel/latency_trace.c
@@ -24,6 +24,7 @@
 #include linux/utsrelease.h
 #include asm/uaccess.h
 #include asm/unistd.h
+#include asm/asm-offsets.h
 #include asm/rtc.h
 #include linux/stacktrace.h

With this patch in place, I am able to build/boot both a 21.1-rt1 kernel
with a standard x86_64 PREEMPT_RT+SMP both with and without the usual
debug options, so that is great!

We did find a regression.  I was mistaken earlier when I mentioned our
T60p laptops couldn't boot.  It turns out that issue was resolved
somewhere along the way and our published patches based on 21.5-rt19 do
allow the laptop to boot event with acpi=on.  With 22.1-rt1 the laptop
crashes unless acpi=off.  Now that we have your queue we will bisect
this and post that fix as well.

Thanks!
-Greg


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-12 Thread Ingo Molnar

* Gregory Haskins [EMAIL PROTECTED] wrote:

   For the most part, it seems you guys have resolved most of the 
 issues that we ran into as well (e.g. early-flush-tlb, relocated 
 die-notifier, etc, come to mind).  I found one patch that was missing 
 that allows debug configurations to build properly.  Heres that patch:
 
 --- linux-2.6.21.orig/kernel/latency_trace.c
 +++ linux-2.6.21/kernel/latency_trace.c
 @@ -24,6 +24,7 @@
  #include linux/utsrelease.h
  #include asm/uaccess.h
  #include asm/unistd.h
 +#include asm/asm-offsets.h

i think this breaks PPC (which has no asm-offsets.h file). In any case i 
saw this build breakage too and the fix is in -rt2.

 We did find a regression.  I was mistaken earlier when I mentioned our 
 T60p laptops couldn't boot.  It turns out that issue was resolved 
 somewhere along the way and our published patches based on 21.5-rt19 
 do allow the laptop to boot event with acpi=on.  With 22.1-rt1 the 
 laptop crashes unless acpi=off.  Now that we have your queue we will 
 bisect this and post that fix as well.

ok. Make sure you check rt2 as well - and note that it's not fully 
bisectable with PREEMPT_RT enabled (but should probably be fully 
bisectable with PREEMPT_RT disabled). So check out first whether the 
problem still persists with PREEMPT_RT disabled.

Ingo
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-12 Thread Sven-Thorsten Dietrich
On Thu, 2007-07-12 at 18:33 +0200, Ingo Molnar wrote:
 * Gregory Haskins [EMAIL PROTECTED] wrote:
 

 
 ok. Make sure you check rt2 as well - and note that it's not fully 
 bisectable with PREEMPT_RT enabled (but should probably be fully 
 bisectable with PREEMPT_RT disabled). So check out first whether the 
 problem still persists with PREEMPT_RT disabled.
 

There is also a regression on my Dell 690 dual-quadcore

rt2 hangs like a brick at boot. rt1 comes up fine.

I am configured at max 8 CPUs so it doesn't seem to be an out of memory
situation.

I'll look at the interdiffs and see what I can find.

Regards,

Sven

   Ingo
-- 
Sven-Thorsten Dietrich
+1 415 694-2930
( www.novell.com/linux )

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-11 Thread Thomas Gleixner
On Wed, 2007-07-11 at 20:58 -0400, Gregory Haskins wrote:
>   Note also that we find that the resulting kernel does not boot on some
> T60p thinkpads without "acpi=off".  We are still investigating the root
> cause here.

Try "nohpet" for now. I'm investigating it on the -hrt side as well.

tglx


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


!! CORRECTION !! Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-11 Thread Gregory Haskins
On Thu, 2007-07-12 at 00:58 +, Gregory Haskins wrote:
> Hi Ingo, Thomas, and the greater linux-rt community,
>   
>   I just wanted to let you guys know that our team has a port of the
> 21.5-rt20 patch for the 2.6.22 kernel available.  

FYI: Due to an internal mis-communication I thought we had ported up to
rt20, but it is only rt19.  We will merge the rt19-rt20 interdiff and
make a new drop in the next day or so.

Sorry for the confusion! :P

-Greg

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-11 Thread Daniel Walker
On Wed, 2007-07-11 at 20:58 -0400, Gregory Haskins wrote:
> Hi Ingo, Thomas, and the greater linux-rt community,
>   
>   I just wanted to let you guys know that our team has a port of the
> 21.5-rt20 patch for the 2.6.22 kernel available.  It in no way should be
> construed as a substitute for the forthcoming official release from the
> RT community.  We are submitting it now in hopes it will be useful to
> someone in the interim, even if only for reference for the official
> porting effort (since we have resolved numerous issues that were
> introduced in the new vanilla code since 21 already).  We hope to rebase
> to Ingo's offical patch once it is available.
> 
>   As a caveat, I'm sure there are numerous errors which were introduced
> by a combination of unnoticed patch fuzz, human error, etc.  But we do
> have it building and running pretty reliably on a number of 2-way,
> 4-way, and 8-way x86_64 SMP systems here in our lab with various
> configurations.  It yields very impressive cyclic-test results with our
> reference PREEMPT_RT config (see attached) so we know that generally the
> port went ok.
> 
>   There is some fallout that occurred related to some slob changes
> between rc1-rc2 that we could probably use some feedback on.  I have
> attached a file (problem-patches.txt) that lists the names/commit-ids of
> some of the patches that we know to be problematic from bisecting.
> There is also a cheesy hack in fs/buffer.c that is probably just plain
> wrong, but we are still trying to find a good way to fix an issue with
> the IDE driver.  
> 
>   Note also that we find that the resulting kernel does not boot on some
> T60p thinkpads without "acpi=off".  We are still investigating the root
> cause here.
> 
> You can find the patch available here:
> ftp://ftp.novell.com/dev/patch-2.6.22-rt1

Thanks for the effort!

Couple of comments tho .. You might want to change the name of the patch
to distinguish it from Ingo's patch ..

Also it would be nice to move away from the "One Big Patch" release
method , for instance if you could break it up into two or more patches
one with the stuff from the patch-2.6.21.5-rt20 which applied, and
another patch with the reject resolution. That way we can see what was
added ..

Daniel

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-11 Thread Daniel Walker
On Wed, 2007-07-11 at 20:58 -0400, Gregory Haskins wrote:
 Hi Ingo, Thomas, and the greater linux-rt community,
   
   I just wanted to let you guys know that our team has a port of the
 21.5-rt20 patch for the 2.6.22 kernel available.  It in no way should be
 construed as a substitute for the forthcoming official release from the
 RT community.  We are submitting it now in hopes it will be useful to
 someone in the interim, even if only for reference for the official
 porting effort (since we have resolved numerous issues that were
 introduced in the new vanilla code since 21 already).  We hope to rebase
 to Ingo's offical patch once it is available.
 
   As a caveat, I'm sure there are numerous errors which were introduced
 by a combination of unnoticed patch fuzz, human error, etc.  But we do
 have it building and running pretty reliably on a number of 2-way,
 4-way, and 8-way x86_64 SMP systems here in our lab with various
 configurations.  It yields very impressive cyclic-test results with our
 reference PREEMPT_RT config (see attached) so we know that generally the
 port went ok.
 
   There is some fallout that occurred related to some slob changes
 between rc1-rc2 that we could probably use some feedback on.  I have
 attached a file (problem-patches.txt) that lists the names/commit-ids of
 some of the patches that we know to be problematic from bisecting.
 There is also a cheesy hack in fs/buffer.c that is probably just plain
 wrong, but we are still trying to find a good way to fix an issue with
 the IDE driver.  
 
   Note also that we find that the resulting kernel does not boot on some
 T60p thinkpads without acpi=off.  We are still investigating the root
 cause here.
 
 You can find the patch available here:
 ftp://ftp.novell.com/dev/patch-2.6.22-rt1

Thanks for the effort!

Couple of comments tho .. You might want to change the name of the patch
to distinguish it from Ingo's patch ..

Also it would be nice to move away from the One Big Patch release
method , for instance if you could break it up into two or more patches
one with the stuff from the patch-2.6.21.5-rt20 which applied, and
another patch with the reject resolution. That way we can see what was
added ..

Daniel

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


!! CORRECTION !! Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-11 Thread Gregory Haskins
On Thu, 2007-07-12 at 00:58 +, Gregory Haskins wrote:
 Hi Ingo, Thomas, and the greater linux-rt community,
   
   I just wanted to let you guys know that our team has a port of the
 21.5-rt20 patch for the 2.6.22 kernel available.  

FYI: Due to an internal mis-communication I thought we had ported up to
rt20, but it is only rt19.  We will merge the rt19-rt20 interdiff and
make a new drop in the next day or so.

Sorry for the confusion! :P

-Greg

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Forward port of latest RT patch (2.6.21.5-rt20) to 2.6.22 available

2007-07-11 Thread Thomas Gleixner
On Wed, 2007-07-11 at 20:58 -0400, Gregory Haskins wrote:
   Note also that we find that the resulting kernel does not boot on some
 T60p thinkpads without acpi=off.  We are still investigating the root
 cause here.

Try nohpet for now. I'm investigating it on the -hrt side as well.

tglx


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/