RE: [RFC V2 PATCH 00/25] Kernel NET policy
From: Liang, Kan
Date: Fri Aug 05 2016 - 09:44:32 EST
>
> > 5. Why disable IRQ balance?
> > A: Disabling IRQ balance is a common way (recommend way for some
> devices) to
> > tune network performance.
>
> I appreciate that network tuning is hard, most people get it wrong, and
> nobody agrees on the right answer.
>
> So rather than fixing existing tools or writing new userspace tools to do
> network tuning, you want to hard code one policy manager in kernel with a
> /proc interface.
Current interaction is by /proc. But it's not hard to have command line interface
to facilitate the user later.
> Why not make a good userspace tool (like powertop).
AFAIK, Powertop mainly shows statistics and does global settings.
NET policy is more complex than powertop. It can do per process or per socket
setting. So it needs to coordinate requests from multiple users and dynamically
assign resource to users at run time. Considering the efficiency and complexity,
a kernel subsystem is more suitable, isn't it?
> There are also several
> IRQ balancing programs, but since irqbalance was championed by one
> vendor others seem to follow like sheep.
Based on my test, disabling IRQ balancing helps a lot for i40e performance.
So in my implementation, I made it a mandatory setting.
But NET policy intends to provide a generic infrastructure. If there are vendors
who want IRQ balancing, I think I can provide an option for the device driver.
Let the device driver decide if disabling IRQ balancing.
Thanks,
Kan
>
> I agree that this a real concern but the implementation of this leaves much to
> be desired and discussed. Why can't this be done outside of the kernel.