Re: [RFC Patch 0/7] kernel: Introduce multikernel architecture support
Cong Wang <[email protected]> Sat, 27 Sep 2025 12:42:23 -0700
| Newsgroups | dev.linux.lists.multikernel,org.infradead.lists.kexec,org.kernel.vger.linux-kernel,org.kvack.linux-mm |
|---|---|
| Message-ID | <CAM_iQpXnvyZWrv4W45SBTDV-tCXU4Fz1=S8z_0s5en+U29vSZQ@mail.gmail.com> |
On Wed, Sep 24, 2025 at 12:03=E2=80=AFPM Stefan Hajnoczi <[email protected]= om> 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