linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Cc: Christoph Hellwig <hch@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>, David Miller <davem@davemloft.net>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org
Subject: Re: [PATCH 1/1] network memory allocator.
Date: Wed, 16 Aug 2006 10:42:24 +0100	[thread overview]
Message-ID: <20060816094224.GA12606@infradead.org> (raw)
In-Reply-To: <20060816090028.GA25476@2ka.mipt.ru>

On Wed, Aug 16, 2006 at 01:00:31PM +0400, Evgeniy Polyakov wrote:
> On Wed, Aug 16, 2006 at 09:48:08AM +0100, Christoph Hellwig (hch@infradead.org) wrote:
> > > Doesn't alloc_pages() automatically switches to alloc_pages_node() or
> > > alloc_pages_current()?
> > 
> > That's not what's wanted.  If you have a slow interconnect you always want
> > to allocate memory on the node the network device is attached to.
> 
> There is drawback here - if data was allocated on CPU wheere NIC is
> "closer" and then processed on different CPU it will cost more than 
> in case where buffer was allocated on CPU where it will be processed.
> 
> But from other point of view, most of the adapters preallocate set of
> skbs, and with msi-x help there will be a possibility to bind irq and
> processing to the CPU where data was origianlly allocated.

The case we've benchmarked (spidernet) is the common preallocated case.
For allocate on demand I'd expect the slab allocator to get things right.
We do have the irq on the right node, not through MSI but due to the odd
interreupt architecture of the Cell blades.

> So I would like to know how to determine which node should be used for
> allocation. Changes of __get_user_pages() to alloc_pages_node() are
> trivial.

The patches I have add the node field to struct net_device and use it.
It's set via alloc_netdev_node, a function I add and for the normal case
of PCI adapters the node arguments comes from pcibus_to_node().  It's
arguable we should add a alloc_foodeve_pdev variant that hids that detail,
but I'm not entirely sure about whether it's worth the effort.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  parent reply	other threads:[~2006-08-16  9:42 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-14 11:04 Evgeniy Polyakov
2006-08-14 11:22 ` David Miller, Evgeniy Polyakov
2006-08-14 11:32   ` Evgeniy Polyakov
2006-08-14 11:40 ` Andi Kleen
2006-08-14 11:46   ` Evgeniy Polyakov
2006-08-14 12:07 ` Keith Owens
2006-08-14 12:20   ` Evgeniy Polyakov
2006-08-14 17:42     ` Rick Jones
2006-08-14 20:15       ` David Miller, Rick Jones
2006-08-14 12:25 ` Peter Zijlstra
2006-08-14 12:35   ` Evgeniy Polyakov
2006-08-14 12:38     ` Evgeniy Polyakov
2006-08-15 10:55     ` Peter Zijlstra
2006-08-15 11:26       ` Evgeniy Polyakov
2006-08-15 12:03         ` Peter Zijlstra
2006-08-15 12:34           ` Evgeniy Polyakov
2006-08-15 13:49             ` Peter Zijlstra
2006-08-15 14:15               ` Evgeniy Polyakov
2006-08-15 14:48                 ` Peter Zijlstra
2006-08-15 15:05                   ` Evgeniy Polyakov
2006-08-15 15:07                     ` Evgeniy Polyakov
2006-08-15 17:42                     ` Peter Zijlstra
2006-08-15 17:49                       ` Evgeniy Polyakov
2006-08-16  2:52                 ` Bill Fink
2006-08-16  5:38                   ` Evgeniy Polyakov
2006-08-14 17:46 ` Rick Jones
2006-08-14 19:42   ` Evgeniy Polyakov
2006-08-15  7:27 ` Andrew Morton
2006-08-15  8:08   ` Andi Kleen
2006-08-15 10:02     ` Evgeniy Polyakov
2006-08-15 10:27       ` David Miller, Evgeniy Polyakov
2006-08-15  9:20   ` Evgeniy Polyakov
2006-08-15 20:21 ` Arnd Bergmann
2006-08-16  5:35   ` Evgeniy Polyakov
2006-08-16  8:48     ` Christoph Hellwig
2006-08-16  9:00       ` Evgeniy Polyakov
2006-08-16  9:05         ` David Miller, Evgeniy Polyakov
2006-08-16  9:10           ` Christoph Hellwig
2006-08-16  9:32             ` Evgeniy Polyakov
2006-08-16  9:38               ` Christoph Hellwig
2006-08-16  9:40                 ` David Miller, Christoph Hellwig
2006-08-16  9:44                   ` Christoph Hellwig
2006-08-16  9:42         ` Christoph Hellwig [this message]
2006-08-16 11:27         ` Arnd Bergmann
2006-08-16 12:00           ` Evgeniy Polyakov
2006-08-16 12:25       ` Andi Kleen
2006-08-18  2:25         ` Christoph Lameter
2006-08-18  9:29           ` Andi Kleen
2006-08-18  8:51             ` David Miller, Andi Kleen
2006-08-18 17:04             ` Christoph Lameter
2006-08-16  7:51 ` [PATCH2 " Evgeniy Polyakov
2006-08-16 16:57   ` Stephen Hemminger
2006-08-16 19:27     ` Evgeniy Polyakov

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=20060816094224.GA12606@infradead.org \
    --to=hch@infradead.org \
    --cc=arnd@arndb.de \
    --cc=davem@davemloft.net \
    --cc=johnpol@2ka.mipt.ru \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=netdev@vger.kernel.org \
    /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