From: James Chapman <jchapman@katalix.com>
To: herbert@gondor.apana.org.au
Cc: hadi@cyberus.ca, pablo@eurodev.net, davem@davemloft.net,
netdev@oss.sgi.com
Subject: Re: [PATCH] Improve behaviour of Netlink Sockets
Date: Thu, 30 Sep 2004 10:50:09 +0100 [thread overview]
Message-ID: <1096537809.415bd6d13f7b3@www.katalix.com> (raw)
> On Wed, Sep 29, 2004 at 10:53:43AM +0100, James Chapman wrote:
> >
> > - Have the kernel keep a list of async messages sent towards each
> > socket rather than trying to deliver each message to the app
> > immediately. Have the kernel send a netlink event message (say,
> > NETLINK_EVENT_WAKEUP) to the app when this queue first goes
> > non-empty. No new NETLINK_EVENT_WAKEUP messages are sent until the
> > event queue goes empty again.
> >
> > - On receipt of NETLINK_EVENT_WAKEUP, a process issues a netlink
> > GET (or DUMP?) on its netlink socket to read its queued events.
> >
> > - If the socket event queue overruns, discard new events and flag the
> > event queue as having lost messages. When the userspace app reads
> > the event queue, it will discover that messages have been lost and
> > can then re-read state from the kernel.
> >
> > - Use a setsockopt on the netlink socket to have the socket configured
> > in this polled-event mode.
>
> That's basically how it works now.
Looks like I was proposing something similar to Jamal's intermediate
queue. With the above scheme, there would be no need for userspace to
periodically poll for events since that would be kicked off by the
wakeup message. Also, while events are held in the kernel, they
wouldn't be charged to the netlink socket -- instead they'd be limited
by a system-wide count, sharing the event resource across all netlink
sockets.
/james
next reply other threads:[~2004-09-30 9:50 UTC|newest]
Thread overview: 93+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-30 9:50 James Chapman [this message]
-- strict thread matches above, loose matches on Subject: below --
2004-09-29 9:53 [PATCH] Improve behaviour of Netlink Sockets James Chapman
2004-09-29 9:59 ` Herbert Xu
[not found] <412DF807.2040703@eurodev.net>
[not found] ` <20040826141407.38b56729.davem@redhat.com>
[not found] ` <412EB40A.6010100@eurodev.net>
[not found] ` <20040826214710.5e322f1a.davem@redhat.com>
[not found] ` <412F1269.8090303@eurodev.net>
[not found] ` <20040827172736.543dbd54.davem@redhat.com>
2004-08-30 0:37 ` Pablo Neira
2004-08-31 0:20 ` David S. Miller
2004-08-31 16:37 ` Pablo Neira
2004-08-31 20:16 ` David S. Miller
2004-09-18 10:25 ` Herbert Xu
2004-09-19 4:36 ` Pablo Neira
2004-09-19 5:18 ` Pablo Neira
2004-09-19 7:58 ` Herbert Xu
2004-09-19 12:02 ` Herbert Xu
2004-09-19 12:07 ` Herbert Xu
2004-09-19 20:50 ` Pablo Neira
2004-09-19 21:53 ` Herbert Xu
2004-09-19 22:49 ` Pablo Neira
2004-09-19 23:44 ` Herbert Xu
2004-09-20 0:31 ` Pablo Neira
2004-09-20 1:00 ` Herbert Xu
2004-09-19 20:50 ` Pablo Neira
2004-09-19 21:59 ` Herbert Xu
2004-09-19 22:39 ` jamal
2004-09-19 22:55 ` Pablo Neira
2004-09-19 23:04 ` jamal
2004-09-19 23:10 ` Herbert Xu
2004-09-19 23:17 ` Herbert Xu
2004-09-20 2:39 ` jamal
2004-09-20 2:58 ` Herbert Xu
2004-09-20 12:34 ` jamal
2004-09-20 18:14 ` Pablo Neira
2004-09-20 21:59 ` Herbert Xu
2004-09-21 11:47 ` jamal
2004-09-21 12:09 ` Herbert Xu
2004-09-22 0:05 ` Herbert Xu
2004-09-22 0:24 ` Pablo Neira
2004-09-22 2:48 ` Pablo Neira
2004-09-22 2:50 ` David S. Miller
2004-09-22 2:53 ` jamal
2004-09-22 3:46 ` Herbert Xu
2004-09-22 11:35 ` jamal
2004-09-23 12:05 ` Herbert Xu
2004-09-24 2:56 ` jamal
2004-09-24 3:20 ` Herbert Xu
2004-09-27 12:41 ` jamal
2004-09-22 4:52 ` Herbert Xu
2004-09-22 12:08 ` jamal
2004-09-22 17:52 ` David S. Miller
2004-09-23 15:40 ` Pablo Neira
2004-09-23 19:16 ` David S. Miller
2004-09-24 3:28 ` Herbert Xu
2004-09-24 5:39 ` David S. Miller
2004-09-24 6:26 ` Herbert Xu
2004-09-24 17:58 ` David S. Miller
2004-09-24 22:06 ` Herbert Xu
2004-09-24 22:28 ` Herbert Xu
2004-09-27 12:59 ` jamal
2004-09-27 12:53 ` jamal
2004-09-23 12:07 ` Herbert Xu
2004-09-24 1:19 ` Pablo Neira
2004-09-24 3:04 ` jamal
2004-09-24 3:24 ` Herbert Xu
2004-09-27 12:46 ` jamal
2004-09-27 21:36 ` Herbert Xu
2004-09-28 2:43 ` jamal
2004-09-28 2:46 ` Herbert Xu
2004-09-28 3:06 ` jamal
2004-09-28 3:23 ` Herbert Xu
2004-09-28 3:45 ` jamal
2004-09-28 3:59 ` Herbert Xu
2004-09-28 10:36 ` jamal
2004-09-28 11:11 ` Herbert Xu
2004-09-28 12:16 ` Herbert Xu
2004-09-28 12:32 ` jamal
2004-09-29 0:13 ` Herbert Xu
2004-09-29 2:52 ` jamal
2004-09-29 3:27 ` Herbert Xu
2004-09-29 4:02 ` David S. Miller
2004-09-29 10:50 ` jamal
2004-09-29 11:42 ` Herbert Xu
2004-09-29 13:55 ` jamal
2004-09-28 21:07 ` Pablo Neira
2004-09-28 23:19 ` Herbert Xu
2004-09-28 23:20 ` David S. Miller
2004-09-29 2:28 ` jamal
2004-09-29 2:30 ` Herbert Xu
2004-09-29 2:59 ` jamal
2004-09-22 2:57 ` jamal
2004-09-22 3:39 ` Herbert Xu
2004-09-19 20:47 ` Pablo Neira
2004-09-19 21:20 ` Herbert Xu
2004-09-19 22:14 ` Pablo Neira
2004-09-19 23:31 ` Herbert Xu
[not found] ` <E1C90Da-0001V7-00@gondolin.me.apana.org.au>
2004-09-19 12:00 ` Herbert Xu
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=1096537809.415bd6d13f7b3@www.katalix.com \
--to=jchapman@katalix.com \
--cc=davem@davemloft.net \
--cc=hadi@cyberus.ca \
--cc=herbert@gondor.apana.org.au \
--cc=netdev@oss.sgi.com \
--cc=pablo@eurodev.net \
/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).