Re: [RFC PATCH 1/5] net: implement support for low latency socketpolling

From: Eliezer Tamir
Date: Tue Mar 05 2013 - 12:15:39 EST


On 05/03/2013 18:43, Ben Hutchings wrote:
On Wed, 2013-02-27 at 09:55 -0800, Eliezer Tamir wrote:

Should the units really be cycles or, say, microseconds? I assume that
a sysctl setter can do a conversion to cycles so that there's no need to
multiply every time the value is used. (If the CPU doesn't have
constant_tsc or equivalent then this conversion doesn't quite work, but
then low-latency tunng usually includes disabling frequency scaling.)

We are not very sensitive to this setting, anything on the order of your half round time trip plus a few standard deviations works well.
We are busy waiting, so setting a higher value does not change the results much.

It does make sense to have this in ms, and it might not matter if the dynamic cycles mess with the value too much.

BTW on my machines enabling frequency scaling improves performance in many cases.

Also, this should be a per-device (or even per-NAPI-context?) setting.

Again, I would expect this to depend more on your workload than on the NIC, so I would keep this global.
User knobs should be as simple as possible.

>>+int sysctl_net_ll_poll __read_mostly = 150000;
Nicely tuned for your specific test system, no doubt. :-)

why don't you try this on your NIC and see ;-)

Thanks for the input,
Eliezer
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/