[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v12 6/8] mm: support reporting free page blocks
From: |
Wang, Wei W |
Subject: |
Re: [Qemu-devel] [PATCH v12 6/8] mm: support reporting free page blocks |
Date: |
Wed, 26 Jul 2017 12:47:47 +0000 |
On Wednesday, July 26, 2017 7:55 PM, Michal Hocko wrote:
> On Wed 26-07-17 19:44:23, Wei Wang wrote:
> [...]
> > I thought about it more. Probably we can use the callback function
> > with a little change like this:
> >
> > void walk_free_mem(void *opaque1, void (*visit)(void *opaque2,
> > unsigned long pfn,
> > unsigned long nr_pages))
> > {
> > ...
> > for_each_populated_zone(zone) {
> > for_each_migratetype_order(order, type) {
> > report_unused_page_block(zone, order, type,
> > &page); // from patch 6
> > pfn = page_to_pfn(page);
> > visit(opaque1, pfn, 1 << order);
> > }
> > }
> > }
> >
> > The above function scans all the free list and directly sends each
> > free page block to the hypervisor via the virtio_balloon callback
> > below. No need to implement a bitmap.
> >
> > In virtio-balloon, we have the callback:
> > void *virtio_balloon_report_unused_pages(void *opaque, unsigned long
> > pfn, unsigned long nr_pages) {
> > struct virtio_balloon *vb = (struct virtio_balloon *)opaque;
> > ...put the free page block to the the ring of vb; }
> >
> >
> > What do you think?
>
> I do not mind conveying a context to the callback. I would still prefer
> to keep the original min_order to check semantic though. Why? Well,
> it doesn't make much sense to scan low order free blocks all the time
> because they are simply too volatile. Larger blocks tend to surivive for
> longer. So I assume you would only care about larger free blocks. This
> will also make the call cheaper.
> --
OK, I will keep min order there in the next version.
Best,
Wei
- Re: [Qemu-devel] [PATCH v12 6/8] mm: support reporting free page blocks, (continued)
- Re: [Qemu-devel] [PATCH v12 6/8] mm: support reporting free page blocks, Wei Wang, 2017/07/25
- Re: [Qemu-devel] [PATCH v12 6/8] mm: support reporting free page blocks, Michal Hocko, 2017/07/25
- Re: [Qemu-devel] [PATCH v12 6/8] mm: support reporting free page blocks, Wei Wang, 2017/07/25
- Re: [Qemu-devel] [PATCH v12 6/8] mm: support reporting free page blocks, Michal Hocko, 2017/07/25
- Re: [Qemu-devel] [PATCH v12 6/8] mm: support reporting free page blocks, Wang, Wei W, 2017/07/25
- Re: [Qemu-devel] [PATCH v12 6/8] mm: support reporting free page blocks, Michal Hocko, 2017/07/25
- Re: [Qemu-devel] [PATCH v12 6/8] mm: support reporting free page blocks, Wei Wang, 2017/07/25
- Re: [Qemu-devel] [PATCH v12 6/8] mm: support reporting free page blocks, Michal Hocko, 2017/07/26
- Re: [Qemu-devel] [PATCH v12 6/8] mm: support reporting free page blocks, Wei Wang, 2017/07/26
- Re: [Qemu-devel] [PATCH v12 6/8] mm: support reporting free page blocks, Michal Hocko, 2017/07/26
- Re: [Qemu-devel] [PATCH v12 6/8] mm: support reporting free page blocks,
Wang, Wei W <=
[Qemu-devel] [PATCH v12 5/8] virtio-balloon: VIRTIO_BALLOON_F_SG, Wei Wang, 2017/07/12
- Re: [Qemu-devel] [PATCH v12 5/8] virtio-balloon: VIRTIO_BALLOON_F_SG, Michael S. Tsirkin, 2017/07/12
- Re: [Qemu-devel] [PATCH v12 5/8] virtio-balloon: VIRTIO_BALLOON_F_SG, Wei Wang, 2017/07/12
- Re: [Qemu-devel] [PATCH v12 5/8] virtio-balloon: VIRTIO_BALLOON_F_SG, Michael S. Tsirkin, 2017/07/12
- Re: [Qemu-devel] [PATCH v12 5/8] virtio-balloon: VIRTIO_BALLOON_F_SG, Wei Wang, 2017/07/13
- Re: [Qemu-devel] [PATCH v12 5/8] virtio-balloon: VIRTIO_BALLOON_F_SG, Michael S. Tsirkin, 2017/07/13
- Re: [Qemu-devel] [PATCH v12 5/8] virtio-balloon: VIRTIO_BALLOON_F_SG, Wei Wang, 2017/07/14
- Re: [Qemu-devel] [PATCH v12 5/8] virtio-balloon: VIRTIO_BALLOON_F_SG, Michael S. Tsirkin, 2017/07/22
- Re: [Qemu-devel] [PATCH v12 5/8] virtio-balloon: VIRTIO_BALLOON_F_SG, Wei Wang, 2017/07/25
- Re: [Qemu-devel] [PATCH v12 5/8] virtio-balloon: VIRTIO_BALLOON_F_SG, Michael S. Tsirkin, 2017/07/26