Damien Zammit, le sam. 19 févr. 2022 07:32:32 +0000, a ecrit:
> My understanding is that vm_allocate_contiguous() in gnumach now honours the 
> pmax variable
> by providing a contiguous allocation of physical memory below pmax.

Yes.

> However, the virtual addresses of each page may not be consecutive 
> necessarily, is that correct?

No, it's really consecutive, the caller would have no way to use the
memory otherwise.

> And so to avoid the problem with the allocator and rump's assumption that dma 
> is
> contiguous in both virtual address space and physical address space,
> rumpdisk now transfers only a page at time (?)

With rump_ns_pread on the raw rwd0 device, rump does not use a bounce
buffer, it does not call vm_allocate_contiguous, so it's directly the
memory passed to the RPC (or a copy, when unaligned).

Samuel

Reply via email to