Re: [LSF/MM/BPF TOPIC] eBFP for block devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 02, 2022 at 12:24:04PM -0700, Hannes Reinecke wrote:
> On 5/2/22 11:17, Omar Sandoval wrote:
> > On Mon, May 02, 2022 at 09:21:31AM -0700, Hannes Reinecke wrote:
> > > Hi Omar,
> > > 
> > > and another topic which came up during discussion yesterday:
> > > 
> > > eBPF for block devices
> > > It would be useful to enable eBPF for block devices, such that we could do
> > > things like filtering bios on bio type, do error injection by modifying the
> > > bio result etc.
> > > This topic should be around how it could be implemented and what additional
> > > use-cases could be supported.
> > > 
> > > Cheers,
> > > 
> > > Hannes
> > 
> > Do you want to try to coordinate a joint session with BPF, or were you
> > planning on brainstorming what we need just in the IO track and tracking
> > down the BPF folks offline?
> > 
> > +Alexei and Daniel
> 
> Coordinated session, please.
> We need to get some common understandig of those things we're trying to do
> are properly eBPF-ish, and alse make the eBPF people aware of the issue
> we're facing.

We last spoke about error injection prospects with eBPF at last year's LSFMM,
and I had explained the lay of the land of pros cons, and the last incarnation
I had tried was the one with the least amount of code affected upstream, but
that was still not a viable accepted approach as we still had to sprinkle a
few branches here and there. And so curious if things have changed.

An alternative that comes to mind recently is to do use something like
ldflags-y += --wrap=upstream_call as the CXL folks do with tools/testing/cxl/Kbuild
however I'm in no way shape or form a fan of what how they did that without proper
kconfig semantics -- that has already proven to easily crash. One *can* do this
with proper Kconfig semantics.

The only downfall to this would be that we'd have live with a copy of
the routine we want elsewhere say block/alt/foo.c to debug with the deltas we
want spinkled onto it. So we'd have to then try to keep both in sync and
that seems like another pain in the ass.

Either way, consider me interested in beating the horse on error injection.

  Luis



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux