From: "Patrick Mullaney" <pmullaney@novell.com>
To: "David Miller" <davem@davemloft.net>
Cc: <herbert@gondor.apana.org.au>,
"Gregory Haskins" <GHaskins.WAL-1.WALTHAM@novell.com>,
<chuck.lever@oracle.com>, <netdev@vger.kernel.org>
Subject: Re: Killing sk->sk_callback_lock
Date: Tue, 17 Jun 2008 16:15:46 -0600 [thread overview]
Message-ID: <4857FF69.456F.00C7.0@novell.com> (raw)
In-Reply-To: <20080617.144041.38758483.davem@davemloft.net>
>>> On Tue, Jun 17, 2008 at 5:40 PM, in message
<20080617.144041.38758483.davem@davemloft.net>, David Miller
<davem@davemloft.net> wrote:
> From: "Patrick Mullaney" <pmullaney@novell.com>
> Date: Tue, 17 Jun 2008 07:38:29 -0600
>
>> >>> On Mon, Jun 16, 2008 at 9:53 PM, in message
>> <20080616.185328.85842051.davem@davemloft.net>, David Miller
>> <davem@davemloft.net> wrote:
>> > Once the task is woken up the first time, future calls to
>> > these callback functions should do nothing other than take
>> > the sk_callback_lock and test some state.
>> >
>> > Since the task is awake already, wakeups should be bypassed
>> > or at worst be a nop.
>>
>> The task can go directly back into a wait. This will effectively yield 2
>> wake ups per udp request-response.
>
> I made the mistake of assuming that a high performance threaded
> networking application would use non-blocking operations and
> select/poll/epoll, which is clearly not the case here.
>
This is the standard netperf udp request response benchmark - it measures
back to back send/recv and is not necessarily high performance (async).
> It's blocking in a recv() and this is woken up by a write space
> extraneous wakeup.
>
> It does need to be fixed and I'll look at the most recent patch
> submission and also try to imagine some other ideas. Herbert
> mentioned creating a seperate wait queue for write space wakeups.
Yeah, I think I mentioned that approach in my first email about this. It
seemed like it would require adding to the socket struct so I decided to
try to do it without touching that. I am not positive but changing the odd
behavior of the SOCK_NOSPACE flag(mentioned in previous email) seems like
it may be in order regardless of the approach to the extra wake up.
next prev parent reply other threads:[~2008-06-17 22:15 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <484F43A3020000760003F543@lucius.provo.novell.com>
2008-06-17 1:38 ` Killing sk->sk_callback_lock (was Re: [PATCH] net/core/sock.c remove extra wakeup) Patrick Mullaney
2008-06-17 1:53 ` Killing sk->sk_callback_lock David Miller
2008-06-17 4:01 ` Gregory Haskins
2008-06-17 4:09 ` David Miller
2008-06-17 4:20 ` Gregory Haskins
2008-06-17 4:30 ` Gregory Haskins
2008-06-17 4:22 ` Fwd: " Gregory Haskins
2008-06-17 4:56 ` David Miller
2008-06-17 11:42 ` Gregory Haskins
2008-06-17 13:38 ` Patrick Mullaney
2008-06-17 21:40 ` David Miller
2008-06-17 22:15 ` Patrick Mullaney [this message]
2008-06-17 23:24 ` Herbert Xu
2008-06-18 7:36 ` Remi Denis-Courmont
2008-06-17 2:56 ` Killing sk->sk_callback_lock (was Re: [PATCH] net/core/sock.c remove extra wakeup) Herbert Xu
2008-06-17 3:09 ` Eric Dumazet
2008-06-17 23:33 ` Herbert Xu
[not found] <4857F579020000B30004963C@lucius.provo.novell.com>
2008-06-18 16:49 ` Patrick Mullaney
2008-06-18 21:56 ` Killing sk->sk_callback_lock 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=4857FF69.456F.00C7.0@novell.com \
--to=pmullaney@novell.com \
--cc=GHaskins.WAL-1.WALTHAM@novell.com \
--cc=chuck.lever@oracle.com \
--cc=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.