Messages in this thread | | | From | Nadav Amit <> | Subject | Re: [PATCH v3 16/20] mm/balloon_compaction: list interfaces | Date | Fri, 28 Sep 2018 19:48:11 +0000 |
| |
at 12:13 PM, Nadav Amit <namit@vmware.com> wrote:
> Introduce interfaces for ballooning enqueueing and dequeueing of a list > of pages. These interfaces reduce the overhead of storing and restoring > IRQs by batching the operations. In addition they do not panic if the > list of pages is empty. > > Cc: "Michael S. Tsirkin" <mst@redhat.com> > Cc: Jason Wang <jasowang@redhat.com> > Cc: linux-mm@kvack.org > Cc: virtualization@lists.linux-foundation.org > Reviewed-by: Xavier Deguillard <xdeguillard@vmware.com> > Signed-off-by: Nadav Amit <namit@vmware.com> > --- > include/linux/balloon_compaction.h | 4 + > mm/balloon_compaction.c | 139 +++++++++++++++++++++-------- > 2 files changed, 105 insertions(+), 38 deletions(-) > > diff --git a/include/linux/balloon_compaction.h b/include/linux/balloon_compaction.h > index 53051f3d8f25..2c5a8e09e413 100644 > --- a/include/linux/balloon_compaction.h > +++ b/include/linux/balloon_compaction.h > @@ -72,6 +72,10 @@ extern struct page *balloon_page_alloc(void); > extern void balloon_page_enqueue(struct balloon_dev_info *b_dev_info, > struct page *page); > extern struct page *balloon_page_dequeue(struct balloon_dev_info *b_dev_info); > +extern void balloon_page_list_enqueue(struct balloon_dev_info *b_dev_info, > + struct list_head *pages); > +extern int balloon_page_list_dequeue(struct balloon_dev_info *b_dev_info, > + struct list_head *pages, int n_req_pages);
<snip>
Michael, can we get you ack for this patch (as well as 15/20)?
Thanks, Nadav
| |