linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@googlemail.com>
To: Matthew Dobson <colpatch@us.ibm.com>
Cc: Benjamin LaHaise <bcrl@kvack.org>,
	Christoph Lameter <clameter@engr.sgi.com>,
	linux-kernel@vger.kernel.org, sri@us.ibm.com, andrea@suse.de,
	pavel@suse.cz, linux-mm@kvack.org
Subject: Re: [patch 0/9] Critical Mempools
Date: Fri, 27 Jan 2006 16:36:39 +0100	[thread overview]
Message-ID: <58d0dbf10601270736o3381d4fbt@mail.gmail.com> (raw)
In-Reply-To: <43D968E4.5020300@us.ibm.com>

2006/1/27, Matthew Dobson <colpatch@us.ibm.com>:

> The impetus for this work was getting this functionality into the
> networking stack, to keep the network alive under periods of extreme VM
> pressure.  Keeping track of 'criticalness' on a per-socket basis is good,
> but the problem is the receive side.  Networking packets are received and
> put into skbuffs before there is any concept of what socket they belong to.
>  So to really handle incoming traffic under extreme memory pressure would
> require something beyond just a per-socket flag.

Maybe as an interesting lecture you want study how we handle this in
the deterministic network stack RTnet (www.rtnet.org): exchange full
with empty (rt-)skbs between per-user packet pools. Every packet
producer or consumer (socket, NIC, in-kernel networking service) has
its own pool of pre-allocated, fixed-sized packets. Incoming packets
are first stored at the expense of the NIC. But as soon as the real
receiver is known, that one has to pass over an empty buffer in order
to get the full one. Otherwise, the packet is dropped. Kind of hard
policy, but it prevents any local user from starving the system with
respect to skbs. Additionally for full determinism, remote users have
to be controlled via bandwidth management (to avoid exhausting the
NIC's pool), in our case a TDMA mechanism.

I'm not suggesting that this is something easy to adopt into a general
purpose networking stack (this is /one/ reason why we maintain a
separate project for it). But maybe the concept can inspire something
in this direction. Would be funny to have "native" RTnet in the kernel
one day :). Separate memory pools for critical allocations is an
interesting step that may help us as well.

Jan

--
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-01-27 15:36 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-25 19:39 Matthew Dobson
2006-01-26 17:57 ` Christoph Lameter
2006-01-26 23:01   ` Matthew Dobson
2006-01-26 23:18     ` Christoph Lameter
2006-01-26 23:32       ` Matthew Dobson
2006-01-27  0:03         ` Benjamin LaHaise
2006-01-27  0:27           ` Matthew Dobson
2006-01-27  7:35             ` Pekka Enberg
2006-01-27 10:10               ` Paul Jackson
2006-01-27 11:07                 ` Pekka Enberg
2006-01-28  0:41                   ` Matthew Dobson
2006-01-28 10:21                     ` Pekka Enberg
2006-01-30 22:38                       ` Matthew Dobson
2006-01-27 15:36             ` Jan Kiszka [this message]
2006-01-27  8:34           ` Sridhar Samudrala
2006-01-27  8:29         ` Sridhar Samudrala

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=58d0dbf10601270736o3381d4fbt@mail.gmail.com \
    --to=jan.kiszka@googlemail.com \
    --cc=andrea@suse.de \
    --cc=bcrl@kvack.org \
    --cc=clameter@engr.sgi.com \
    --cc=colpatch@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=pavel@suse.cz \
    --cc=sri@us.ibm.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