[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RFC 1/2] xen/page_alloc: Add size_align parameter to provide MFNs which are size aligned.
>>> On 30.11.16 at 17:42, <konrad.wilk@xxxxxxxxxx> wrote: > On Wed, Nov 30, 2016 at 02:30:41AM -0700, Jan Beulich wrote: >> >>> On 30.11.16 at 05:39, <konrad@xxxxxxxxxx> wrote: >> > This is to support the requirement that exists in PV dom0 >> > when doing DMA requests: >> > >> > "dma_alloc_coherent() >> > [...] >> > The CPU virtual address and the DMA address are both guaranteed to be >> > aligned to the smallest PAGE_SIZE order which is greater than or equal >> > to the requested size. This invariant exists (for example) to guarantee >> > that if you allocate a chunk which is smaller than or equal to 64 >> > kilobytes, the extent of the buffer you receive will not cross a 64K >> > boundary." >> >> So I'm having trouble understanding what it is that actually needs >> fixing / changing here: Any order-N allocation will be order-N-aligned >> already. Is your caller perhaps simply not passing in a large enough >> order? And changing alloc_heap_pages(), which guarantees the >> requested alignment already anyway (after all it takes an order >> input, not a size one), looks completely pointless regardless of what >> extra requirements you may want to put on the exchange hypercall. > > The page_alloc.c code walks through different order pages. Which means > that if it can't find one within the requested order pages it will > go one up (and so on). Eventually that means you do get the requested > order pages, but they are not guaranteed to be order aligned (as they > may be order aligned to a higher value). But that's _better_ alignment than you asked for then. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |