From: Eliezer Tamir <eliezer.tamir@linux.intel.com>
To: David Miller <davem@davemloft.net>
Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
Jesse Brandeburg <jesse.brandeburg@intel.com>,
Don Skidmore <donald.c.skidmore@intel.com>,
e1000-devel@lists.sourceforge.net,
Willem de Bruijn <willemb@google.com>,
Eric Dumazet <erdnetdev@gmail.com>,
Ben Hutchings <bhutchings@solarflare.com>,
Andi Kleen <andi@firstfloor.org>, HPA <hpa@zytor.com>,
Eilon Greenstien <eilong@broadcom.com>,
Or Gerlitz <or.gerlitz@gmail.com>,
Amir Vadai <amirv@mellanox.com>,
Alex Rosenbaum <alexr@mellanox.com>,
Avner Ben Hanoch <avnerb@mellanox.com>,
Or Kehati <ork@mellanox.com>,
sockperf-dev@googlegroups.com,
Eliezer Tamir <eliezer@tamir.org.il>
Subject: [PATCH v2 net-next 0/1] net: lls select poll support
Date: Tue, 18 Jun 2013 11:57:59 +0300 [thread overview]
Message-ID: <20130618085759.10941.15811.stgit@ladj378.jer.intel.com> (raw)
David,
Here is a rework of the select/poll patch.
(I called this a v2 but we are continuing where we left off in v9
of the original series.)
One question: do we need in sock_poll() to test that sock->sk is not null?
(Thanks to Willem de Bruijn for pointing this out.)
When select or poll are used on a lot of sockets the sysctl value
needs to be set higher than 50. For 300 sockets a setting of 100 works
for me. For 1000 sockets a setting of 200 works well but the gain is
very small, probably not worth it.
I should mention that unlike the version we had in v9, with this version
of the patch, LLS always performs better than no LLS.
-Eliezer
Change log:
v2
- added POLL_LL flag, used to signal between the syscalls and sock_poll().
- add a separate ll_end_time() function to be used from poll.
- slight reorder of sk_poll_ll so the timing primitives are not used
when called from sock_poll().
- select/poll stop busy polling as soon as there is something to return
to the user.
Change log from the original LLS patch series:
v9
- better mask testing in sock_poll(), reported by Eric Dumazet.
v8
- split out udp and select/poll into separate patches.
what used to be patch 2/5 is now three patches.
v5
- added simple poll/select support
next reply other threads:[~2013-06-18 8:58 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-18 8:57 Eliezer Tamir [this message]
2013-06-18 8:58 ` [PATCH v2 net-next] net: poll/select low latency socket support Eliezer Tamir
2013-06-18 8:58 ` Eliezer Tamir
2013-06-18 9:08 ` Eric Dumazet
2013-06-18 9:12 ` Eliezer Tamir
2013-06-18 10:25 ` Eric Dumazet
2013-06-18 10:37 ` Eliezer Tamir
2013-06-18 13:25 ` Eliezer Tamir
2013-06-18 14:35 ` Eric Dumazet
2013-06-18 14:45 ` Eliezer Tamir
2013-06-18 14:50 ` Eliezer Tamir
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=20130618085759.10941.15811.stgit@ladj378.jer.intel.com \
--to=eliezer.tamir@linux.intel.com \
--cc=alexr@mellanox.com \
--cc=amirv@mellanox.com \
--cc=andi@firstfloor.org \
--cc=avnerb@mellanox.com \
--cc=bhutchings@solarflare.com \
--cc=davem@davemloft.net \
--cc=donald.c.skidmore@intel.com \
--cc=e1000-devel@lists.sourceforge.net \
--cc=eilong@broadcom.com \
--cc=eliezer@tamir.org.il \
--cc=erdnetdev@gmail.com \
--cc=hpa@zytor.com \
--cc=jesse.brandeburg@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=or.gerlitz@gmail.com \
--cc=ork@mellanox.com \
--cc=sockperf-dev@googlegroups.com \
--cc=willemb@google.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 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.