Re: [RFC Patch 0/7] kernel: Introduce multikernel architecture support
From: Cong Wang
Date: Sat Sep 27 2025 - 15:42:36 EST
On Wed, Sep 24, 2025 at 12:03 PM Stefan Hajnoczi <stefanha@xxxxxxxxxx> wrote:
>
> Thanks, that gives a nice overview!
>
> I/O Resource Allocation part will be interesting. Restructuring existing
> device drivers to allow spawned kernels to use specific hardware queues
> could be a lot of work and very device-specific. I guess a small set of
> devices can be supported initially and then it can grow over time.
My idea is to leverage existing technologies like XDP, which
offers huge benefits here:
1) It is based on shared memory (although it is virtual)
2) Its API's are user-space API's, which is even stronger for
kernel-to-kernel sharing, this possibly avoids re-inventing
another protocol.
3) It provides eBPF.
4) The spawned kernel does not require any hardware knowledge,
just pure XDP-ringbuffer-based software logic.
But it also has limitations:
1) xdp_md is too specific for networking, extending it to storage
could be very challenging. But we could introduce a SDP for
storage to just mimic XDP.
2) Regardless, we need a doorbell anyway. IPI is handy, but
I hope we could have an even lighter one. Or more ideally,
redirecting the hardware queue IRQ into each target CPU.
>
> This also reminds me of VFIO/mdev devices, which would be another
> solution to the same problem, but equally device-specific and also a lot
> of work to implement the devices that spawned kernels see.
Right.
I prototyped VFIO on my side with AI, but failed with its complex PCI
interface. And the spawn kernel still requires hardware knowledge
to interpret PCI BAR etc..
Regards,
Cong Wang