public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* performance impact of using noapic
@ 2002-07-02 19:22 Stephane Charette
  2002-07-03 12:31 ` Mark Hounschell
  0 siblings, 1 reply; 2+ messages in thread
From: Stephane Charette @ 2002-07-02 19:22 UTC (permalink / raw)
  To: linux-kernel@vger.kernel.org

I was reading through "FreeBSD Versus Linux Revisited" by Moshe Bar at "http://www.byte.com/documents/s=1794/byt20011107s0001/1112_moshe.html".

One paragraph in particular caught my eye:

   On the Linux side, I attached all interrupts coming
   from the network adaptor to one CPU. With the new
   TCP/IP stack in the 2.4 kernels this really becomes
   necessary. Otherwise, you might find the incoming
   packets arranged out of order, because later interrupts
   are serviced (on another CPU) before earlier ones, thus
   requiring a reordering further down the handling layers.

Is this a widely-known issue?  Or is this simply theory?  I'd never heard this mentionned until I read the article.

I ran some web-based performance tests with the 2.4.19-pre9-SMP kernel on a dual-CPU Athlon 1600MHz box, and found that running with "noapic" actually improved network performance.  (Negligable -- only 1% improvement in the small webstone-based test I ran.)

As I wrote in another post concerning performance from earlier today, the actual values of my performance tests are not important -- the trend is what I wish to higlight.

My questions are:

1) am I right in thinking that "noapic" will force all interrupts to be handled by 1 CPU?

2) how would you force all interrupts from only 1 hardware device (and not all devices) to be handled by 1 processor, as hinted in the paragraph quoted above?

Thanks,

Stephane Charette



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: performance impact of using noapic
  2002-07-02 19:22 performance impact of using noapic Stephane Charette
@ 2002-07-03 12:31 ` Mark Hounschell
  0 siblings, 0 replies; 2+ messages in thread
From: Mark Hounschell @ 2002-07-03 12:31 UTC (permalink / raw)
  To: Stephane Charette; +Cc: linux-kernel@vger.kernel.org

Stephane Charette wrote:

> 
> My questions are:
> 
> 1) am I right in thinking that "noapic" will force all interrupts to be handled by 1 CPU?

Yes.

> 
> 2) how would you force all interrupts from only 1 hardware device (and not all devices) to be handled by 1 processor, as hinted in the paragraph quoted above?

echo "00000001" > /proc/irq/19/smp_affinity

Will cause irq 19 to be serviced by processor 1

echo "00000003" > /proc/irq/19/smp_affinity

Will allow irq 19 to be serviced by processor 1 and 2

You could also do this in the driver if you wanted.

Note that this will not work when noapic is used..


Mark

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-07-03 12:28 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-07-02 19:22 performance impact of using noapic Stephane Charette
2002-07-03 12:31 ` Mark Hounschell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox