Reverse sort order of LRU cpu list

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
Move 'evenly' distribution to extra file

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
Generalizie affinity setting

When having multiple strategies the actual code setting
the affinity can no longer be done in code specific
to the 'evenly' strategy.

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
Write CPU ranges as FROM[:TO]

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
Introduce 'range' type

In the hope that it will improve the range handling later.

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
irqd: allow static configuration

At times it is desirable to pin IRQs to certain CPUs in order
to get the best performance.  Therefore add the ability
to configure a static mapping.

Also add a 'static' strategy, which basically does nothing.

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
Remove interface.if_state

It is useless in the current form.

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
interface: optionally specify CPU range

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
Update example config files

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
Add balancer for the 'static' strategy

And make the balancer callback mandatory (well, it would have
gone BUG() in case no callback was defined).

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
Move 'auto assign' command to cpuset

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
Cleanup cpuset auto assign

Currently the config reads as follows:

 cpuset "name" 0:3 {
   devices {
     interface-auto-assign;
   };
 };

Whereas the command 'interface-auto-assign' is a cpuset command,
therefore move it there.

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>