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

Re: [Xen-devel] [RFC] Support of non-indirect grant backend on 64KB guest

On 20/08/2015 10:42, David Vrabel wrote:
When using 64KB page, a Linux block request (struct *request) may
contain up to 64KB of data. This is because the block segment size
must at least be the size of a Linux page.

You should ensure you configure the request queue with the limits that
are currently supported.  In particular:

        /* Each segment in a request is up to an aligned page in
            size. */
        blk_queue_segment_boundary(rq, PAGE_SIZE - 1);
        blk_queue_max_segment_size(rq, PAGE_SIZE);

Is obviously wrong with PAGE_SIZE > 44 KiB.

Get the block later to split requests and don't do it in blkfront.

I may not have been enough clear in the paragraph you quoted. I said that the minimum size supported by the block framework is a linux page size. It means that if you pass a value smaller than that it will replace with the page linux granularity.

It would have been handy that the block framework supports smaller size but it's not the case, give a look to the implementation of both function.


Julien Grall

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.