* Re: + i386-time-avoid-pit-smp-lockups.patch added to -mm tree
[not found] <200610112126.k9BLQqKG002529@shell0.pdx.osdl.net>
@ 2006-10-19 13:44 ` Daniel Walker
2006-10-19 13:47 ` Andi Kleen
2006-10-19 18:27 ` john stultz
0 siblings, 2 replies; 11+ messages in thread
From: Daniel Walker @ 2006-10-19 13:44 UTC (permalink / raw)
To: linux-kernel; +Cc: johnstul, ak, mingo, tglx
On Wed, 2006-10-11 at 14:26 -0700, akpm@osdl.org wrote:
> diff -puN arch/i386/kernel/i8253.c~i386-time-avoid-pit-smp-lockups arch/i386/kernel/i8253.c
> --- a/arch/i386/kernel/i8253.c~i386-time-avoid-pit-smp-lockups
> +++ a/arch/i386/kernel/i8253.c
> @@ -109,7 +109,7 @@ static struct clocksource clocksource_pi
>
> static int __init init_pit_clocksource(void)
> {
> - if (num_possible_cpus() > 4) /* PIT does not scale! */
> + if (num_possible_cpus() > 1) /* PIT does not scale! */
> return 0;
>
Can we ifdef some code here on CONFIG_SMP . It bugs me that there just
dead code laying around on smp systems.
Daniel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: + i386-time-avoid-pit-smp-lockups.patch added to -mm tree
2006-10-19 13:44 ` + i386-time-avoid-pit-smp-lockups.patch added to -mm tree Daniel Walker
@ 2006-10-19 13:47 ` Andi Kleen
2006-10-19 13:57 ` Daniel Walker
2006-10-19 18:27 ` john stultz
1 sibling, 1 reply; 11+ messages in thread
From: Andi Kleen @ 2006-10-19 13:47 UTC (permalink / raw)
To: Daniel Walker; +Cc: linux-kernel, johnstul, mingo, tglx
On Thursday 19 October 2006 15:44, Daniel Walker wrote:
> On Wed, 2006-10-11 at 14:26 -0700, akpm@osdl.org wrote:
>
> > diff -puN arch/i386/kernel/i8253.c~i386-time-avoid-pit-smp-lockups arch/i386/kernel/i8253.c
> > --- a/arch/i386/kernel/i8253.c~i386-time-avoid-pit-smp-lockups
> > +++ a/arch/i386/kernel/i8253.c
> > @@ -109,7 +109,7 @@ static struct clocksource clocksource_pi
> >
> > static int __init init_pit_clocksource(void)
> > {
> > - if (num_possible_cpus() > 4) /* PIT does not scale! */
> > + if (num_possible_cpus() > 1) /* PIT does not scale! */
> > return 0;
> >
>
> Can we ifdef some code here on CONFIG_SMP . It bugs me that there just
> dead code laying around on smp systems.
The optimizer should optimize it all out since num_possible_cpus() is a 0
constant on UP.
-Andi
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: + i386-time-avoid-pit-smp-lockups.patch added to -mm tree
2006-10-19 13:47 ` Andi Kleen
@ 2006-10-19 13:57 ` Daniel Walker
2006-10-19 14:05 ` Andi Kleen
2006-10-19 14:22 ` Nick Piggin
0 siblings, 2 replies; 11+ messages in thread
From: Daniel Walker @ 2006-10-19 13:57 UTC (permalink / raw)
To: Andi Kleen; +Cc: linux-kernel, johnstul, mingo, tglx
On Thu, 2006-10-19 at 15:47 +0200, Andi Kleen wrote:
> On Thursday 19 October 2006 15:44, Daniel Walker wrote:
> > On Wed, 2006-10-11 at 14:26 -0700, akpm@osdl.org wrote:
> >
> > > diff -puN arch/i386/kernel/i8253.c~i386-time-avoid-pit-smp-lockups arch/i386/kernel/i8253.c
> > > --- a/arch/i386/kernel/i8253.c~i386-time-avoid-pit-smp-lockups
> > > +++ a/arch/i386/kernel/i8253.c
> > > @@ -109,7 +109,7 @@ static struct clocksource clocksource_pi
> > >
> > > static int __init init_pit_clocksource(void)
> > > {
> > > - if (num_possible_cpus() > 4) /* PIT does not scale! */
> > > + if (num_possible_cpus() > 1) /* PIT does not scale! */
> > > return 0;
> > >
> >
> > Can we ifdef some code here on CONFIG_SMP . It bugs me that there just
> > dead code laying around on smp systems.
>
> The optimizer should optimize it all out since num_possible_cpus() is a 0
> constant on UP.
You just mean the if statement above though? I was talking more about
the structure above this called "clocksource_pit" which isn't used on
SMP systems due to this code addition. AFAIK init_pit_clocksource()
could disappear along with the clocksource structure ..
Daniel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: + i386-time-avoid-pit-smp-lockups.patch added to -mm tree
2006-10-19 13:57 ` Daniel Walker
@ 2006-10-19 14:05 ` Andi Kleen
2006-10-19 14:50 ` Daniel Walker
2006-10-19 14:22 ` Nick Piggin
1 sibling, 1 reply; 11+ messages in thread
From: Andi Kleen @ 2006-10-19 14:05 UTC (permalink / raw)
To: Daniel Walker; +Cc: linux-kernel, johnstul, mingo, tglx
> You just mean the if statement above though? I was talking more about
> the structure above this called "clocksource_pit" which isn't used on
> SMP systems due to this code addition. AFAIK init_pit_clocksource()
> could disappear along with the clocksource structure ..
It will end up as a int f() { return 0; }. Not very much overhead.
-Andi
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: + i386-time-avoid-pit-smp-lockups.patch added to -mm tree
2006-10-19 13:57 ` Daniel Walker
2006-10-19 14:05 ` Andi Kleen
@ 2006-10-19 14:22 ` Nick Piggin
2006-10-19 14:26 ` Andi Kleen
1 sibling, 1 reply; 11+ messages in thread
From: Nick Piggin @ 2006-10-19 14:22 UTC (permalink / raw)
To: Daniel Walker; +Cc: Andi Kleen, linux-kernel, johnstul, mingo, tglx
Daniel Walker wrote:
> On Thu, 2006-10-19 at 15:47 +0200, Andi Kleen wrote:
>
>>On Thursday 19 October 2006 15:44, Daniel Walker wrote:
>>
>>>On Wed, 2006-10-11 at 14:26 -0700, akpm@osdl.org wrote:
>>>
>>>
>>>>diff -puN arch/i386/kernel/i8253.c~i386-time-avoid-pit-smp-lockups arch/i386/kernel/i8253.c
>>>>--- a/arch/i386/kernel/i8253.c~i386-time-avoid-pit-smp-lockups
>>>>+++ a/arch/i386/kernel/i8253.c
>>>>@@ -109,7 +109,7 @@ static struct clocksource clocksource_pi
>>>>
>>>> static int __init init_pit_clocksource(void)
>>>> {
>>>>- if (num_possible_cpus() > 4) /* PIT does not scale! */
>>>>+ if (num_possible_cpus() > 1) /* PIT does not scale! */
>>>> return 0;
>>>>
>>>
>>>Can we ifdef some code here on CONFIG_SMP . It bugs me that there just
>>>dead code laying around on smp systems.
>>
>>The optimizer should optimize it all out since num_possible_cpus() is a 0
>>constant on UP.
>
>
> You just mean the if statement above though? I was talking more about
> the structure above this called "clocksource_pit" which isn't used on
> SMP systems due to this code addition. AFAIK init_pit_clocksource()
> could disappear along with the clocksource structure ..
An SMP kernel can boot on UP hardware, in which case I think
num_possible_cpus() will be 1, won't it?
--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: + i386-time-avoid-pit-smp-lockups.patch added to -mm tree
2006-10-19 14:22 ` Nick Piggin
@ 2006-10-19 14:26 ` Andi Kleen
2006-10-19 14:48 ` Nick Piggin
0 siblings, 1 reply; 11+ messages in thread
From: Andi Kleen @ 2006-10-19 14:26 UTC (permalink / raw)
To: Nick Piggin; +Cc: Daniel Walker, linux-kernel, johnstul, mingo, tglx
> An SMP kernel can boot on UP hardware, in which case I think
> num_possible_cpus() will be 1, won't it?
0 was a typo, i meant 1 for UP of course. 0 would be nonsensical.
-Andi
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: + i386-time-avoid-pit-smp-lockups.patch added to -mm tree
2006-10-19 14:26 ` Andi Kleen
@ 2006-10-19 14:48 ` Nick Piggin
2006-10-19 14:50 ` Andi Kleen
0 siblings, 1 reply; 11+ messages in thread
From: Nick Piggin @ 2006-10-19 14:48 UTC (permalink / raw)
To: Andi Kleen; +Cc: Daniel Walker, linux-kernel, johnstul, mingo, tglx
Andi Kleen wrote:
>>An SMP kernel can boot on UP hardware, in which case I think
>>num_possible_cpus() will be 1, won't it?
>
>
> 0 was a typo, i meant 1 for UP of course. 0 would be nonsensical.
Sure, I realised that. For a UP kernel, the test will compile away.
But Daniel seems to say there is dead code that could be compiled
out for SMP kernels. I just don't think that is possible because the
SMP kernel can boot a UP system where num_possible_cpus() is 1.
--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: + i386-time-avoid-pit-smp-lockups.patch added to -mm tree
2006-10-19 14:48 ` Nick Piggin
@ 2006-10-19 14:50 ` Andi Kleen
2006-10-19 15:01 ` Daniel Walker
0 siblings, 1 reply; 11+ messages in thread
From: Andi Kleen @ 2006-10-19 14:50 UTC (permalink / raw)
To: Nick Piggin; +Cc: Daniel Walker, linux-kernel, johnstul, mingo, tglx
On Thursday 19 October 2006 16:48, Nick Piggin wrote:
> Andi Kleen wrote:
> >>An SMP kernel can boot on UP hardware, in which case I think
> >>num_possible_cpus() will be 1, won't it?
> >
> >
> > 0 was a typo, i meant 1 for UP of course. 0 would be nonsensical.
>
> Sure, I realised that. For a UP kernel, the test will compile away.
>
> But Daniel seems to say there is dead code that could be compiled
> out for SMP kernels. I just don't think that is possible because the
> SMP kernel can boot a UP system where num_possible_cpus() is 1.
I thought he meant !CONFIG_SMP kernels.
-Andi
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: + i386-time-avoid-pit-smp-lockups.patch added to -mm tree
2006-10-19 14:05 ` Andi Kleen
@ 2006-10-19 14:50 ` Daniel Walker
0 siblings, 0 replies; 11+ messages in thread
From: Daniel Walker @ 2006-10-19 14:50 UTC (permalink / raw)
To: Andi Kleen; +Cc: linux-kernel, johnstul, mingo, tglx
On Thu, 2006-10-19 at 16:05 +0200, Andi Kleen wrote:
> > You just mean the if statement above though? I was talking more about
> > the structure above this called "clocksource_pit" which isn't used on
> > SMP systems due to this code addition. AFAIK init_pit_clocksource()
> > could disappear along with the clocksource structure ..
>
> It will end up as a int f() { return 0; }. Not very much overhead.
>
> -Andi
Here's what I found ..
-rwxr-xr-x 1 dwalker engr 48252535 Oct 19 07:47 vmlinux
-rwxr-xr-x 1 dwalker engr 48249958 Oct 19 07:47 vmlinux.ifdef
So we're talking about ~2.5k of code including the pit_read and
clocksource structure.
Daniel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: + i386-time-avoid-pit-smp-lockups.patch added to -mm tree
2006-10-19 14:50 ` Andi Kleen
@ 2006-10-19 15:01 ` Daniel Walker
0 siblings, 0 replies; 11+ messages in thread
From: Daniel Walker @ 2006-10-19 15:01 UTC (permalink / raw)
To: Andi Kleen; +Cc: Nick Piggin, linux-kernel, johnstul, mingo, tglx
On Thu, 2006-10-19 at 16:50 +0200, Andi Kleen wrote:
> On Thursday 19 October 2006 16:48, Nick Piggin wrote:
> > Andi Kleen wrote:
> > >>An SMP kernel can boot on UP hardware, in which case I think
> > >>num_possible_cpus() will be 1, won't it?
> > >
> > >
> > > 0 was a typo, i meant 1 for UP of course. 0 would be nonsensical.
> >
> > Sure, I realised that. For a UP kernel, the test will compile away.
> >
> > But Daniel seems to say there is dead code that could be compiled
> > out for SMP kernels. I just don't think that is possible because the
> > SMP kernel can boot a UP system where num_possible_cpus() is 1.
>
> I thought he meant !CONFIG_SMP kernels.
definitely CONFIG_SMP=y . The code block I quoted would disable the PIT
clocksource w/ more than one cpu. So the pit clocksource is just dead
weight on SMP systems. However, like Nick was saying it's possible to
boot CONFIG_SMP on a UP system, but removing the pit in that situation
may not hurt anything.
Daniel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: + i386-time-avoid-pit-smp-lockups.patch added to -mm tree
2006-10-19 13:44 ` + i386-time-avoid-pit-smp-lockups.patch added to -mm tree Daniel Walker
2006-10-19 13:47 ` Andi Kleen
@ 2006-10-19 18:27 ` john stultz
1 sibling, 0 replies; 11+ messages in thread
From: john stultz @ 2006-10-19 18:27 UTC (permalink / raw)
To: Daniel Walker; +Cc: linux-kernel, ak, mingo, tglx
On Thu, 2006-10-19 at 06:44 -0700, Daniel Walker wrote:
> On Wed, 2006-10-11 at 14:26 -0700, akpm@osdl.org wrote:
>
> > diff -puN arch/i386/kernel/i8253.c~i386-time-avoid-pit-smp-lockups arch/i386/kernel/i8253.c
> > --- a/arch/i386/kernel/i8253.c~i386-time-avoid-pit-smp-lockups
> > +++ a/arch/i386/kernel/i8253.c
> > @@ -109,7 +109,7 @@ static struct clocksource clocksource_pi
> >
> > static int __init init_pit_clocksource(void)
> > {
> > - if (num_possible_cpus() > 4) /* PIT does not scale! */
> > + if (num_possible_cpus() > 1) /* PIT does not scale! */
> > return 0;
> >
>
> Can we ifdef some code here on CONFIG_SMP . It bugs me that there just
> dead code laying around on smp systems.
I still want the pit to be available on SMP kernels that boot on UP
systems, so I don't think an ifdef will do it. Maybe it would be
possible to do some smp alternatives-like code removal on SMP systems?
thanks
-john
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2006-10-19 18:29 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <200610112126.k9BLQqKG002529@shell0.pdx.osdl.net>
2006-10-19 13:44 ` + i386-time-avoid-pit-smp-lockups.patch added to -mm tree Daniel Walker
2006-10-19 13:47 ` Andi Kleen
2006-10-19 13:57 ` Daniel Walker
2006-10-19 14:05 ` Andi Kleen
2006-10-19 14:50 ` Daniel Walker
2006-10-19 14:22 ` Nick Piggin
2006-10-19 14:26 ` Andi Kleen
2006-10-19 14:48 ` Nick Piggin
2006-10-19 14:50 ` Andi Kleen
2006-10-19 15:01 ` Daniel Walker
2006-10-19 18:27 ` john stultz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox