On Tue 25-07-17 14:47:16, Wang, Wei W wrote:
On Tuesday, July 25, 2017 8:42 PM, hal Hocko wrote:How did you plan to use your original API which export struct page array
On Tue 25-07-17 19:56:24, Wei Wang wrote:I would need to introduce more about the background here:
On 07/25/2017 07:25 PM, Michal Hocko wrote:So you want to skip pfn walks by regularly calling into the page allocator to
On Tue 25-07-17 17:32:00, Wei Wang wrote:We don't need to do the pfn walk in the guest kernel. When the API
On 07/24/2017 05:00 PM, Michal Hocko wrote:
On Wed 19-07-17 20:01:18, Wei Wang wrote:
On 07/19/2017 04:13 PM, Michal Hocko wrote:[...
reports, for example, a 2MB free page block, the API caller offers to
the hypervisor the base address of the page block, and size=2MB, to
the hypervisor.
update your bitmap. If that is the case then would an API that would allow you
to update your bitmap via a callback be s sufficient? Something like
void walk_free_mem(int node, int min_order,
void (*visit)(unsigned long pfn, unsigned long nr_pages))
The function will call the given callback for each free memory block on the given
node starting from the given min_order. The callback will be strictly an atomic
and very light context. You can update your bitmap from there.
The hypervisor and the guest live in their own address space. The hypervisor's bitmap
isn't seen by the guest. I think we also wouldn't be able to give a callback function
from the hypervisor to the guest in this case.
then?
zone is a MM internal concept. No code outside of the MM proper shouldThis would address my main concern that the allocator internals would getWhat issue would it have to expose the internal, for_each_zone()?
outside of the allocator proper.
really care about zones.