char devices without SI_UNMAPPED?
Warner Losh
imp at bsdimp.com
Sun Dec 13 19:43:20 UTC 2020
On Sun, Dec 13, 2020 at 12:40 PM Konstantin Belousov <kostikbel at gmail.com>
wrote:
> On Sun, Dec 13, 2020 at 12:20:49PM -0700, Alan Somers wrote:
> > On Sun, Dec 13, 2020 at 11:20 AM Warner Losh <imp at bsdimp.com> wrote:
> >
> > >
> > >
> > > On Sun, Dec 13, 2020 at 11:18 AM Ian Lepore <ian at freebsd.org> wrote:
> > >
> > >> On Sun, 2020-12-13 at 10:27 -0700, alan somers wrote:
> > >> > I'm trying to exercise the aio code that handles character devices
> > >> > that
> > >> > don't set the SI_UNMAPPED flag. But I can't find any. Are there
> any
> > >> > remaining character devices that don't allow unmapped I/O?
> > >> >
> > >> > -Alan
> > >> >
> > >>
> > >> I assume you mean disk-like devices? Probably mmcsd, flash/at45d,
> > >> flash/mx25l.
> > >>
> > >
> > Hm. I don't have any of those.
> >
> >
> > >
> > > There are times that it's disabled administratively as well, but that
> may
> > > be on a per-I/O basis.
> > > vfs.zfs.vol.unmap_enabled: 1
> > >
> >
> > This one doesn't seem to work. It looks like the only functionality it
> > gates these days is DIOCGDELETE.
> >
> >
> > > vfs.unmapped_buf_allowed: 1
> > >
> >
> > Well, this one works. Thanks for the tip. Unfortunately, it's a
> tunable,
> > so I can't use it for any kind of automated testing.
>
> There is enough geoms which do not support unmapped bios, even if only in
> some configurations. Recursively grep for G_PF_ACCEPT_UNMAPPED in sys/geom
> to see what I mean.
>
> After all, an option for geom_nop should be trivial, to force all bios to
> map, instead of inheriting from the lower provider.
>
There's also several CAM SIMs that don't set the PIM_UNMAPPED flag either:
% grep -rl cam_sim_alloc . | wc
58 58 1378
% grep -lr PIM_UNMAPPED . | wc
28 28 658
Warner
More information about the freebsd-hackers
mailing list