All of lore.kernel.org
 help / color / mirror / Atom feed
* forcing bottom half to a specific processor on numa
@ 2003-08-29 15:49 chas williams
  2003-08-29 23:44 ` David S. Miller
  0 siblings, 1 reply; 2+ messages in thread
From: chas williams @ 2003-08-29 15:49 UTC (permalink / raw)
  To: netdev

for my network card (its an atm card but that really doesnt matter in
this case since the work done is fundamentally very similar) on a numa
machine i would prefer that the bottom half processing happen on
a processor that is 'local' (or atleast closer) to the card.  primarily,
so that any copies to/from the card and buffers that might allocated
be given to card come from the memory on the processor to prevent
undo traffic on the machine's interconnect.  my particular h/w is the
sn2.  i do something like the following to force the tasklet be 
scheduled on the 'local' processor:

	...
	he_dev->cnode = nasid_to_cnodeid(NASID_GET(he_dev->membase));
	...

__tasklet_schedule(void *data)
{
        struct he_dev *he_dev = (struct he_dev *) data;
        tasklet_schedule(&he_dev->tasklet);
}

he_irq_handler()
{
...
	smp_call_function_single(he_dev->cnode, __tasklet_schedule, he_dev, 0, 0);
...
}

is there a reason i shouldnt do this?  is there a better way?

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

* Re: forcing bottom half to a specific processor on numa
  2003-08-29 15:49 forcing bottom half to a specific processor on numa chas williams
@ 2003-08-29 23:44 ` David S. Miller
  0 siblings, 0 replies; 2+ messages in thread
From: David S. Miller @ 2003-08-29 23:44 UTC (permalink / raw)
  To: chas3; +Cc: chas, netdev

On Fri, 29 Aug 2003 11:49:43 -0400
chas williams <chas@cmf.nrl.navy.mil> wrote:

> is there a reason i shouldnt do this?  is there a better way?

Just bind the interrupts of your card to a processor local
to the numa node in question using the IRQ affinity stuff.

Then all softints you schedule will run on that processor
too, when you schedule a softint or a tasklet it runs on
the cpu where you perform that schedule.

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

end of thread, other threads:[~2003-08-29 23:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-08-29 15:49 forcing bottom half to a specific processor on numa chas williams
2003-08-29 23:44 ` David S. Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.