Re: MIPS: Sibyte: Remove irritating printk from set_affinity

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jun 12, 2009 at 01:41:50PM +0100, Ralf Baechle wrote:

> On Tue, Jun 09, 2009 at 05:07:15PM +0100, Maciej W. Rozycki wrote:
> > From: "Maciej W. Rozycki" <macro@xxxxxxxxxxxxxx>
> > Date: Tue, 9 Jun 2009 17:07:15 +0100 (WEST)
> > To: linux-mips@xxxxxxxxxxxxxx
> > Subject: Re: MIPS: Sibyte: Remove irritating printk from set_affinity
> > Content-Type: TEXT/PLAIN; charset=US-ASCII
> > 
> > On Tue, 9 Jun 2009, linux-mips@xxxxxxxxxxxxxx wrote:
> > 
> > > set_affinity() will be called with cpui masks, which have more than one
> > > cpu set.  Instead of generating noise we now select the first set
> > > cpu and use that for setting affinity.  The printk was being triggered
> > > frequently by recent distributions running on recent kernels.
> > 
> >  For the record: I don't think it relates to a distribution being "recent" 
> > at all -- the noise happens with my board with recent kernels and does not 
> > with older ones even though the userland is always the same.  Something 
> > must have changed within the kernel itself and it may be worth 
> > investigating what, why and whether it is legitimate.  I fear the change 
> > may be papering over some bug elsewhere.
> 
> You're right - I realized that after having hit the commit button ...
> 
> I don't think there really is a kernel bug there.  The function we changed
> is free to reject arguments.  The reason why the Sibyte kernel has this
> check is that its hardware routing capabilities allow it to route an
> interrupt to _all_ CPUs of a certain set while this Linux API assumes an
> interrupt to be sent to just _one_ of the CPUs contained in the set.  On
> Sibyte this would result in usually all CPUs taking an interrupt exception.
> Only one can take the interrupt lock for that interrupt; the other will
> return from exception without having done any useful work.  While it may
> give the lowest latencies this certainly involves a high overhead.  Yes,
> a closer look into why things are being done this way is probably justified.

And now there is a cleaner way to deal with this sort of issue, see
d5dedd4507d307eb3f35f21b6e16f336fdc0d82a.  The printk itself was a bug
in itself.  When do people learn that printk isn't stderr.

  Ralf


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux