On Fri, Oct 20, 2017 at 8:20 PM, Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > On Fri, Oct 20, 2017 at 03:29:57PM -0700, Dan Williams wrote: >> Ok, I'd also like to kill DAX support in the brd driver. It's a source >> of complexity and maintenance burden for zero benefit. It's the only >> ->direct_access() implementation that sleeps and it's the only >> implementation where there is a non-linear relationship between >> sectors and pfns. Having a 1:1 sector to pfn relationship will help >> with the dma-extent-busy management since we don't need to keep >> calling into the driver to map pfns back to sectors once we know the >> pfn[0] sector[0] relationship. > > But these are important things that other block devices may / will want. > > For example, I think it's entirely sensible to support ->direct_access > for RAID-0. Dell are looking at various different options for having > one pmemX device per DIMM and using RAID to lash them together. > ->direct_access makes no sense for RAID-5 or RAID-1, but RAID-0 makes > sense to me. > > Last time we tried to take sleeping out, there were grumblings from people > with network block devices who thought they'd want to bring pages in > across the network. I'm a bit less sympathetic to this because I don't > know anyone actively working on it, but the RAID-0 case is something I > think we should care about. True, good point. In fact we already support device-mapper striping with ->direct_access(). I'd still like to go ahead with the sleeping removal. When those folks come back and add network direct_access they can do the hard work of figuring out cases where we need to call direct_access in atomic contexts.