Re: [Question] IO is split by block layer when size is larger than 4k

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

 



On Thu, Mar 12, 2020 at 09:21:11PM +0800, Feng Li wrote:
> Hi Ming,
> Thanks.
> I have tested kernel '5.4.0-rc6+', which includes 07173c3ec276.
> But the virtio is still be filled with single page by page.

Hello,

Could you share your test script?

BTW, it depends if fs layer passes contiguous pages to block layer.

You can dump each bvec of the bio, and see if they are contiguous
physically.

Thanks,
Ming

> 
> Ming Lei <ming.lei@xxxxxxxxxx> 于2020年3月12日周四 下午8:34写道:
> >
> > On Thu, Mar 12, 2020 at 07:13:28PM +0800, Feng Li wrote:
> > > Hi experts,
> > >
> > > May I ask a question about block layer?
> > > When running fio in guest os, I find a 256k IO is split into the page
> > > by page in bio, saved in bvecs.
> > > And virtio-blk just put the bio_vec one by one in the available
> > > descriptor table.
> > >
> > > So if my backend device does not support iovector
> > > opertion(preadv/pwritev), then IO is issued to a low layer page by
> > > page.
> > > My question is: why doesn't the bio save multi-pages in one bio_vec?
> >
> > We start multipage bvec since v5.1, especially since 07173c3ec276
> > ("block: enable multipage bvecs").
> >
> > Thanks,
> > Ming
> >
> 

-- 
Ming





[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