netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Walker <dwalker@mvista.com>
To: Arjan van de Ven <arjan@infradead.org>
Cc: David Miller <davem@davemloft.net>,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	jens.axboe@oracle.com, steffen.klassert@secunet.com
Subject: Re: [PATCH 0/2]: Remote softirq invocation infrastructure.
Date: Sat, 20 Sep 2008 11:52:31 -0700	[thread overview]
Message-ID: <1221936751.1343.226.camel@localhost.localdomain> (raw)
In-Reply-To: <20080920110952.05da49ab@infradead.org>

On Sat, 2008-09-20 at 11:09 -0700, Arjan van de Ven wrote:


> > 
> > Dave didn't supply the users of his code, or what kind of improvement
> > was seen, or the case in which it would be needed. I think Dave knowns
> > his subsystem, but the code on the surface looks like an end run
> > around some other problem area..
> 
> it's very fundamental, and has been talked about at various conferences
> as well.

At least you understand that not everyone goes to conferences..

> the basic problem is that the submitter of the IO (be it block or net)
> creates a ton of metadata state on submit, and ideally the completion
> processing happens on the same CPU, for two reasons
> 1) to use the state in the cache
> 2) for the case where you touch userland data/structures, we assume the
> scheduler kept affinity
> 
> it's a Moses-to-the-Mountain problem, except we have four Moses' but
> only one Mountain. 
> 
> Or in CS terms: we move the work to the CPU where the userland is
> rather than moving the userland to the IRQ CPU, since there is usually
> only one IRQ but many userlands and many cpu cores.

There must be some kind of trade off here .. There's a fairly good
performance gain from have the softirq asserted and run on the same cpu
since it runs in interrupt context right after the interrupt.

If you move the softirq to another cpu then you have to re-assert and
either wait for ksoftirqd to handle it or wait for an interrupt on the
new cpu .. Neither is very predictable..

All that vs. bouncing data around the caches.. To what degree has all
that been handled or thought about?

Daniel


  reply	other threads:[~2008-09-20 18:52 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-20  6:48 [PATCH 0/2]: Remote softirq invocation infrastructure David Miller
2008-09-20 15:29 ` Daniel Walker
2008-09-20 15:45   ` Arjan van de Ven
2008-09-20 16:02     ` Daniel Walker
2008-09-20 16:19       ` Arjan van de Ven
2008-09-20 17:40         ` Daniel Walker
2008-09-20 18:09           ` Arjan van de Ven
2008-09-20 18:52             ` Daniel Walker [this message]
2008-09-20 20:04               ` David Miller
2008-09-20 19:59           ` David Miller
2008-09-21  6:05             ` Herbert Xu
2008-09-21  6:57               ` David Miller
2008-09-22 10:36                 ` Ilpo Järvinen
2008-09-24  4:54                   ` Herbert Xu
2008-09-21  9:13               ` James Courtier-Dutton
2008-09-21  9:17                 ` David Miller
2008-09-21  9:46               ` Steffen Klassert
2008-09-22  8:23                 ` Herbert Xu
2008-09-22 13:54                   ` Steffen Klassert
2008-09-20 20:00       ` David Miller
2008-09-22 21:22 ` Chris Friesen
2008-09-22 22:12   ` David Miller
2008-09-23 17:03     ` Chris Friesen
2008-09-23 21:10       ` Tom Herbert
2008-09-23 21:51       ` David Miller
2008-09-24  7:42 ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1221936751.1343.226.camel@localhost.localdomain \
    --to=dwalker@mvista.com \
    --cc=arjan@infradead.org \
    --cc=davem@davemloft.net \
    --cc=jens.axboe@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=steffen.klassert@secunet.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).