Messages in this thread | | | Date | Mon, 5 Dec 2022 18:47:42 -0800 | From | Jakub Kicinski <> | Subject | Re: [PATCH linux-next] net: record times of netdev_budget exhausted |
| |
On Tue, 6 Dec 2022 10:35:07 +0800 (CST) yang.yang29@zte.com.cn wrote: > The author of "Replace 2 jiffies with sysctl netdev_budget_usecs > to enable softirq tuning" is Matthew Whitehead, he said this in > git log: Constants used for tuning are generally a bad idea, especially > as hardware changes over time...For example, a very fast machine > might tune this to 1000 microseconds, while my regression testing > 486DX-25 needs it to be 4000 microseconds on a nearly idle network > to prevent time_squeeze from being incremented.
Let's just ignore that on the basis that it mentions prehistoric HW ;)
> And on my systems there are huge packets on the intranet, and we > came accross with lots of time_squeeze. The idea is that, netdev_budget* > are selections between throughput and real-time. If we care throughput > and not care real-time so much, we may want bigger netdev_budget*.
But are you seeing actual performance wins in terms of throughput or latency?
As I said time_squeeze is very noisy. In my experience it's very sensitive to issues with jiffies, like someone masking interrupts on the timekeeper CPU for a long time (which if you use cgroups happens _a lot_ :/).
Have you tried threaded NAPI? (find files called 'threaded' in sysfs) It will let you do any such tuning much more flexibly.
> In this scenario, we want to tune netdev_budget* and see their effect > separately. > > By the way, if netdev_budget* are useless, should they be deleted?
Well, we can't be sure if there's really nobody that uses them :( It's very risky to remove stuff that's exposed to user space.
| |