|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH mini-os enhancements for vtpm 2/8] add posix io to blkfront
On 10/08/2012 01:10 PM, Samuel Thibault wrote:
> Matthew Fioravante, le Mon 08 Oct 2012 10:34:24 -0400, a écrit :
>> Sometimes n comes out to be BLKIF_MAX_SEGEMENTS_PER_REQUEST +1.
>>
>> This happens when your buffer address is sector aligned (512k), but
>> not page aligned (4096k).
>> So we can either optimize yet again if address is page
>> aligned
> Ah, right. Well, I'd say it's worth making the effort to test against
> that, i.e. (untested)
>
> else {
> if (count >= BLKIF_MAX_SEGMENTS_PER_REQUEST*PAGE_SIZE
> && (!(buf & ~(PAGE_SIZE-1))))
> /* page-aligned */
> bytes = BLKIF_MAX_SEGMENTS_PER_REQUEST*PAGE_SIZE;
> else if (count >= (BLKIF_MAX_SEGMENTS_PER_REQUEST-1)*PAGE_SIZE)
> /* only sector-aligned, will have to realign */
> bytes = (BLKIF_MAX_SEGMENTS_PER_REQUEST-1)*PAGE_SIZE;
> else
> bytes = count & ~(blocksize - 1);
> }
> }
I tested and you can do BLKIF_MAX_SEGEMENTS_PER_REQUEST if the buffer is
page aligned. I'm sending a new patch with this optimization.
>
>> Is the page math being done above that assertion correct?
> I believe so.
>
> Samuel
Attachment:
smime.p7s _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |