xen: simplify balloon_first_page() with list_first_entry_or_null()
authorJie Liu <jeff.liu@oracle.com>
Wed, 13 Nov 2013 12:59:58 +0000 (20:59 +0800)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Mon, 6 Jan 2014 15:07:29 +0000 (10:07 -0500)
Replace the code logic at balloon_first_page() by calling
list_first_entry_or_null() directly.  since here is only
one user of that routine, therefore we can just remove it.

Signed-off-by: Jie Liu <jeff.liu@oracle.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: David Vrabel <david.vrabel@citrix.com>
drivers/xen/balloon.c

index 4c02e2b..37d06ea 100644 (file)
@@ -157,13 +157,6 @@ static struct page *balloon_retrieve(bool prefer_highmem)
        return page;
 }
 
-static struct page *balloon_first_page(void)
-{
-       if (list_empty(&ballooned_pages))
-               return NULL;
-       return list_entry(ballooned_pages.next, struct page, lru);
-}
-
 static struct page *balloon_next_page(struct page *page)
 {
        struct list_head *next = page->lru.next;
@@ -328,7 +321,7 @@ static enum bp_state increase_reservation(unsigned long nr_pages)
        if (nr_pages > ARRAY_SIZE(frame_list))
                nr_pages = ARRAY_SIZE(frame_list);
 
-       page = balloon_first_page();
+       page = list_first_entry_or_null(&ballooned_pages, struct page, lru);
        for (i = 0; i < nr_pages; i++) {
                if (!page) {
                        nr_pages = i;