Displaying 20 results from an estimated 61 matches for "unmap_and_move".
Did you mean:
__unmap_and_move
2016 Apr 04
2
[PATCH v3 01/16] mm: use put_page to free page instead of putback_lru_page
...is patch cleans it up to divide two semantic(ie, put and putback).
> If migration is successful, use put_page instead of putback_lru_page and
> use putback_lru_page only on failure. That makes code more readable
> and doesn't add overhead in put_page.
So effectively when we return from unmap_and_move() the page is either
put_page or putback_lru_page() and the page is gone from under us.
2016 Apr 04
2
[PATCH v3 01/16] mm: use put_page to free page instead of putback_lru_page
...is patch cleans it up to divide two semantic(ie, put and putback).
> If migration is successful, use put_page instead of putback_lru_page and
> use putback_lru_page only on failure. That makes code more readable
> and doesn't add overhead in put_page.
So effectively when we return from unmap_and_move() the page is either
put_page or putback_lru_page() and the page is gone from under us.
2016 Mar 11
0
[PATCH v1 01/19] mm: use put_page to free page instead of putback_lru_page
...han at kernel.org>
---
mm/migrate.c | 49 ++++++++++++++++++++++++++++++-------------------
1 file changed, 30 insertions(+), 19 deletions(-)
diff --git a/mm/migrate.c b/mm/migrate.c
index 3ad0fea5c438..bf31ea9ffaf8 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -907,6 +907,14 @@ static int __unmap_and_move(struct page *page, struct page *newpage,
put_anon_vma(anon_vma);
unlock_page(page);
out:
+ /* If migration is scucessful, move newpage to right list */
+ if (rc == MIGRATEPAGE_SUCCESS) {
+ if (unlikely(__is_movable_balloon_page(newpage)))
+ put_page(newpage);
+ else
+ putback_lru_page(n...
2016 Mar 30
0
[PATCH v3 01/16] mm: use put_page to free page instead of putback_lru_page
...an at kernel.org>
---
mm/migrate.c | 50 +++++++++++++++++++++++++++++++-------------------
1 file changed, 31 insertions(+), 19 deletions(-)
diff --git a/mm/migrate.c b/mm/migrate.c
index 6c822a7b27e0..53529c805752 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -913,6 +913,14 @@ static int __unmap_and_move(struct page *page, struct page *newpage,
put_anon_vma(anon_vma);
unlock_page(page);
out:
+ /* If migration is successful, move newpage to right list */
+ if (rc == MIGRATEPAGE_SUCCESS) {
+ if (unlikely(__is_movable_balloon_page(newpage)))
+ put_page(newpage);
+ else
+ putback_lru_page(n...
2016 Apr 04
1
mm/hwpoison: fix wrong num_poisoned_pages account
...t;n-horiguchi at ah.jp.nec.com>
> > > >Acked-by: Vlastimil Babka <vbabka at suse.cz>
> > > >Signed-off-by: Minchan Kim <minchan at kernel.org>
> > >
> > > [...]
> > >
> > > >@@ -974,28 +986,28 @@ static ICE_noinline int unmap_and_move(new_page_t get_new_page,
> > > > list_del(&page->lru);
> > > > dec_zone_page_state(page, NR_ISOLATED_ANON +
> > > > page_is_file_cache(page));
> > > >- /* Soft-offlined page shouldn't go through lru cache list */
> > >...
2016 Apr 04
1
mm/hwpoison: fix wrong num_poisoned_pages account
...t;n-horiguchi at ah.jp.nec.com>
> > > >Acked-by: Vlastimil Babka <vbabka at suse.cz>
> > > >Signed-off-by: Minchan Kim <minchan at kernel.org>
> > >
> > > [...]
> > >
> > > >@@ -974,28 +986,28 @@ static ICE_noinline int unmap_and_move(new_page_t get_new_page,
> > > > list_del(&page->lru);
> > > > dec_zone_page_state(page, NR_ISOLATED_ANON +
> > > > page_is_file_cache(page));
> > > >- /* Soft-offlined page shouldn't go through lru cache list */
> > >...
2012 Aug 06
6
[PATCH v5 0/3] make balloon pages movable by compaction
Memory fragmentation introduced by ballooning might reduce significantly
the number of 2MB contiguous memory blocks that can be used within a guest,
thus imposing performance penalties associated with the reduced number of
transparent huge pages that could be used by the guest workload.
This patch-set follows the main idea discussed at 2012 LSFMMS session:
"Ballooning for transparent huge
2012 Aug 06
6
[PATCH v5 0/3] make balloon pages movable by compaction
Memory fragmentation introduced by ballooning might reduce significantly
the number of 2MB contiguous memory blocks that can be used within a guest,
thus imposing performance penalties associated with the reduced number of
transparent huge pages that could be used by the guest workload.
This patch-set follows the main idea discussed at 2012 LSFMMS session:
"Ballooning for transparent huge
2016 Apr 01
2
[PATCH v3 01/16] mm: use put_page to free page instead of putback_lru_page
...se.de>
> Cc: Hugh Dickins <hughd at google.com>
> Cc: Naoya Horiguchi <n-horiguchi at ah.jp.nec.com>
> Acked-by: Vlastimil Babka <vbabka at suse.cz>
> Signed-off-by: Minchan Kim <minchan at kernel.org>
[...]
> @@ -974,28 +986,28 @@ static ICE_noinline int unmap_and_move(new_page_t get_new_page,
> list_del(&page->lru);
> dec_zone_page_state(page, NR_ISOLATED_ANON +
> page_is_file_cache(page));
> - /* Soft-offlined page shouldn't go through lru cache list */
> + }
> +
> + /*
> + * If migration is successful, drop th...
2016 Apr 01
2
[PATCH v3 01/16] mm: use put_page to free page instead of putback_lru_page
...se.de>
> Cc: Hugh Dickins <hughd at google.com>
> Cc: Naoya Horiguchi <n-horiguchi at ah.jp.nec.com>
> Acked-by: Vlastimil Babka <vbabka at suse.cz>
> Signed-off-by: Minchan Kim <minchan at kernel.org>
[...]
> @@ -974,28 +986,28 @@ static ICE_noinline int unmap_and_move(new_page_t get_new_page,
> list_del(&page->lru);
> dec_zone_page_state(page, NR_ISOLATED_ANON +
> page_is_file_cache(page));
> - /* Soft-offlined page shouldn't go through lru cache list */
> + }
> +
> + /*
> + * If migration is successful, drop th...
2016 Apr 04
0
[PATCH v3 01/16] mm: use put_page to free page instead of putback_lru_page
...p to divide two semantic(ie, put and putback).
> > If migration is successful, use put_page instead of putback_lru_page and
> > use putback_lru_page only on failure. That makes code more readable
> > and doesn't add overhead in put_page.
> So effectively when we return from unmap_and_move() the page is either
> put_page or putback_lru_page() and the page is gone from under us.
I didn't get your point.
Could you elaborate it more what you want to say about this patch?
2016 Mar 30
0
[PATCH v3 02/16] mm/compaction: support non-lru movable page migration
...}
/*
* When successful, old pagecache page->mapping must be cleared before
@@ -782,6 +899,7 @@ static int move_to_new_page(struct page *newpage, struct page *page,
if (!PageAnon(page))
page->mapping = NULL;
}
+out:
return rc;
}
@@ -960,6 +1078,8 @@ static ICE_noinline int unmap_and_move(new_page_t get_new_page,
put_new_page(newpage, private);
else
put_page(newpage);
+ if (PageMovable(page))
+ __ClearPageMovable(page);
goto out;
}
@@ -1000,8 +1120,26 @@ static ICE_noinline int unmap_and_move(new_page_t get_new_page,
num_poisoned_pages_inc();
}
} else...
2016 Apr 04
0
[PATCH v3 01/16] mm: use put_page to free page instead of putback_lru_page
...<hughd at google.com>
> >Cc: Naoya Horiguchi <n-horiguchi at ah.jp.nec.com>
> >Acked-by: Vlastimil Babka <vbabka at suse.cz>
> >Signed-off-by: Minchan Kim <minchan at kernel.org>
>
> [...]
>
> >@@ -974,28 +986,28 @@ static ICE_noinline int unmap_and_move(new_page_t get_new_page,
> > list_del(&page->lru);
> > dec_zone_page_state(page, NR_ISOLATED_ANON +
> > page_is_file_cache(page));
> >- /* Soft-offlined page shouldn't go through lru cache list */
> >+ }
> >+
> >+ /*
> >+ * If...
2016 Apr 01
2
[PATCH v3 02/16] mm/compaction: support non-lru movable page migration
...e->mapping must be cleared before
> @@ -782,6 +899,7 @@ static int move_to_new_page(struct page *newpage, struct page *page,
> if (!PageAnon(page))
> page->mapping = NULL;
> }
> +out:
> return rc;
> }
>
> @@ -960,6 +1078,8 @@ static ICE_noinline int unmap_and_move(new_page_t get_new_page,
> put_new_page(newpage, private);
> else
> put_page(newpage);
> + if (PageMovable(page))
> + __ClearPageMovable(page);
> goto out;
> }
>
> @@ -1000,8 +1120,26 @@ static ICE_noinline int unmap_and_move(new_page_t get_new_pag...
2016 Apr 01
2
[PATCH v3 02/16] mm/compaction: support non-lru movable page migration
...e->mapping must be cleared before
> @@ -782,6 +899,7 @@ static int move_to_new_page(struct page *newpage, struct page *page,
> if (!PageAnon(page))
> page->mapping = NULL;
> }
> +out:
> return rc;
> }
>
> @@ -960,6 +1078,8 @@ static ICE_noinline int unmap_and_move(new_page_t get_new_page,
> put_new_page(newpage, private);
> else
> put_page(newpage);
> + if (PageMovable(page))
> + __ClearPageMovable(page);
> goto out;
> }
>
> @@ -1000,8 +1120,26 @@ static ICE_noinline int unmap_and_move(new_page_t get_new_pag...
2012 Nov 07
8
[PATCH v11 0/7] make balloon pages movable by compaction
Memory fragmentation introduced by ballooning might reduce significantly
the number of 2MB contiguous memory blocks that can be used within a guest,
thus imposing performance penalties associated with the reduced number of
transparent huge pages that could be used by the guest workload.
This patch-set follows the main idea discussed at 2012 LSFMMS session:
"Ballooning for transparent huge
2012 Nov 07
8
[PATCH v11 0/7] make balloon pages movable by compaction
Memory fragmentation introduced by ballooning might reduce significantly
the number of 2MB contiguous memory blocks that can be used within a guest,
thus imposing performance penalties associated with the reduced number of
transparent huge pages that could be used by the guest workload.
This patch-set follows the main idea discussed at 2012 LSFMMS session:
"Ballooning for transparent huge
2016 Apr 04
0
[PATCH v3 02/16] mm/compaction: support non-lru movable page migration
...> >@@ -782,6 +899,7 @@ static int move_to_new_page(struct page *newpage, struct page *page,
> > if (!PageAnon(page))
> > page->mapping = NULL;
> > }
> >+out:
> > return rc;
> > }
> >
> >@@ -960,6 +1078,8 @@ static ICE_noinline int unmap_and_move(new_page_t get_new_page,
> > put_new_page(newpage, private);
> > else
> > put_page(newpage);
> >+ if (PageMovable(page))
> >+ __ClearPageMovable(page);
> > goto out;
> > }
> >
> >@@ -1000,8 +1120,26 @@ static ICE_noinline int...
2012 Jun 25
5
[PATCH 0/4] make balloon pages movable by compaction
This patchset follows the main idea discussed at 2012 LSFMMS section:
"Ballooning for transparent huge pages" -- http://lwn.net/Articles/490114/
to introduce the required changes to the virtio_balloon driver, as well as
changes to the core compaction & migration bits, in order to allow
memory balloon pages become movable within a guest.
Rafael Aquini (4):
mm: introduce compaction
2012 Jun 25
5
[PATCH 0/4] make balloon pages movable by compaction
This patchset follows the main idea discussed at 2012 LSFMMS section:
"Ballooning for transparent huge pages" -- http://lwn.net/Articles/490114/
to introduce the required changes to the virtio_balloon driver, as well as
changes to the core compaction & migration bits, in order to allow
memory balloon pages become movable within a guest.
Rafael Aquini (4):
mm: introduce compaction