Re: [PATCHSET v6] sched: Implement BPF extensible scheduler class

Jason Gunthorpe
2024-06-24T14:23:36Z

On Sun, Jun 23, 2024 at 12:33:33PM +0200, Thomas Gleixner wrote:
> If I want to compare another out of tree project with sched ext, then I
> surely do not pick RT but DPDK. The network people rejected the DPDK
> approach as they wanted to have things fixed and done in tree instead of
> letting everyone create their own sand pit. It worked out as it made
> people think and come up with XDP and other things which gives the
> dataplane people a proper tool while having the general stuff work
> nicely in the same context.

Not to derail this discussion, but this is not quite the case.

It never "worked out", DPDK has continued to grow in importance since
XDP was invented because XDP/etc are not a replacement for DPDK. It is
still the case that places using DPDK really don't have any
performant alternative.

DPDK growth has been significant, in fact, it is quite likely this
message traversed some DPDK in the internals of the internet on its
way to you. It is an important and necessary project for certain
applications.

DPDK is very good at what it does, best in class in fact, and fully
supported by in-tree Linux. Just not via netdev.

> In other words, that forced people to really collaborate and sort it out
> for the benefit of everyone.

The discussion on these topics created animosity from netdev toward
DPDK and that has created some community/collaboration problems in its
wake.

IMHO forced collaboration doesn't work unless both sides can gain some
benifit - in this case it was not clear what the advantage really was
for DPDK. For instance DPDK-XDP exists, but it is not widely used
because it is slower.

I don't think there was a benefit for everyone here. People remain
split based on their use case and there is little actual
collaboration. DPDK people know not to talk to netdev :)

Part of collaboration is to be able to also know when collaboration is
not going to be valuable or feasible.

Not sure there is a learning here for sched_ext..

Regards,
Jason