From: Pablo Neira <pablo@eurodev.net>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: netdev@oss.sgi.com, "David S. Miller" <davem@redhat.com>
Subject: Re: [PATCH] Improve behaviour of Netlink Sockets
Date: Mon, 20 Sep 2004 00:49:10 +0200 [thread overview]
Message-ID: <414E0CE6.107@eurodev.net> (raw)
In-Reply-To: <20040919215328.GA9573@gondor.apana.org.au>
Hi Herbert,
Sorry, if i repeat things, I'm not willing to be annoying, just clarifying.
I'm always talking all the time about sending information from kernel
space to user space where I found the problem. There's no problem in
doing on the other way, in that case buffer never gets full.
Herbert Xu wrote:
>Workaround for what? Please define your problem.
>
>
Two problems:
a) if you request information via nl sockets from user space and a
kernel module doesn't use the dontwait flag (I know, *nobody* is doing
this at the moment, so currently broadcast/unicast never wait as you
remarked).
When we request info from user space (sendmsg), you execute the callback
from a module which usually replies with some information
(netlink_unicast). The problem happens if the size of the information is
too big for the buffer. In that case, before using applying my patch, it
hangs (in <2.6.9-rc1, it puts it to sleep if buffer gets full). I'm
talking about using unicast/broadcast without dontwait flag.
b) A module needs to send a lot of information from kernel space to user
space, if buffer gets full quickly, buffer overruns and
netlink_unicast/broadcast never wait, so they drop packets.
Why someone could call netlink_unicast/broadcast from a module telling
them to wait if necessary? if that module want to care about a possible
message drop. This happens if you stress nl sockets. This way netlink
sockets behave well with an important workload without dropping
messages. So the user space part doesn't get that annoying -enobufs error.
>Your original message mentioned a dead-lock, which is now obviously non-existant.
>
>
it exists if you use netlink_unicast/broadcast telling them to wait, so
it's not a real problem for current applications because they tell
netlink_unicast/broadcast not to wait.
regards,
Pablo
next prev parent reply other threads:[~2004-09-19 22:49 UTC|newest]
Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top
[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 ` [PATCH] Improve behaviour of Netlink Sockets 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 [this message]
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:39 ` On DaveMs congestion control algorithm WAS(Re: " jamal
2004-09-28 18:24 ` David S. Miller
2004-09-29 2:23 ` jamal
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
2004-09-29 9:53 James Chapman
2004-09-29 9:59 ` Herbert Xu
-- strict thread matches above, loose matches on Subject: below --
2004-09-30 9:50 James Chapman
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=414E0CE6.107@eurodev.net \
--to=pablo@eurodev.net \
--cc=davem@redhat.com \
--cc=herbert@gondor.apana.org.au \
--cc=netdev@oss.sgi.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).