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
