search for: migrate_prep_local

Displaying 20 results from an estimated 49 matches for "migrate_prep_local".

2016 May 16
2
[PATCH v5 02/12] mm: migrate: support non-lru movable page migration
...w_page_t new, free_page_t free, > unsigned long private, enum migrate_mode mode, int reason); > +extern bool isolate_movable_page(struct page *page, isolate_mode_t mode); > +extern void putback_movable_page(struct page *page); > > extern int migrate_prep(void); > extern int migrate_prep_local(void); given that some of Movable users can be built as modules, shouldn't at least some of those symbols be exported via EXPORT_SYMBOL? -ss
2016 May 16
2
[PATCH v5 02/12] mm: migrate: support non-lru movable page migration
...w_page_t new, free_page_t free, > unsigned long private, enum migrate_mode mode, int reason); > +extern bool isolate_movable_page(struct page *page, isolate_mode_t mode); > +extern void putback_movable_page(struct page *page); > > extern int migrate_prep(void); > extern int migrate_prep_local(void); given that some of Movable users can be built as modules, shouldn't at least some of those symbols be exported via EXPORT_SYMBOL? -ss
2016 May 16
1
[PATCH v5 02/12] mm: migrate: support non-lru movable page migration
...w_page_t new, free_page_t free, > unsigned long private, enum migrate_mode mode, int reason); > +extern bool isolate_movable_page(struct page *page, isolate_mode_t mode); > +extern void putback_movable_page(struct page *page); > > extern int migrate_prep(void); > extern int migrate_prep_local(void); __ClearPageMovable() is under CONFIG_MIGRATION in include/linux/migrate.h, but zsmalloc checks for CONFIG_COMPACTION. can we have stub declarations of movable functions for !CONFIG_MIGRATION builds? otherwise the users (zsmalloc, for example) have to do things like static void reset_page(...
2016 May 16
1
[PATCH v5 02/12] mm: migrate: support non-lru movable page migration
...w_page_t new, free_page_t free, > unsigned long private, enum migrate_mode mode, int reason); > +extern bool isolate_movable_page(struct page *page, isolate_mode_t mode); > +extern void putback_movable_page(struct page *page); > > extern int migrate_prep(void); > extern int migrate_prep_local(void); __ClearPageMovable() is under CONFIG_MIGRATION in include/linux/migrate.h, but zsmalloc checks for CONFIG_COMPACTION. can we have stub declarations of movable functions for !CONFIG_MIGRATION builds? otherwise the users (zsmalloc, for example) have to do things like static void reset_page(...
2015 Jul 04
1
[RFCv2 4/5] mm/compaction: compaction calls generic migration
...ugetlb.h> > #include <linux/hugetlb_cgroup.h> > #include <linux/gfp.h> > -#include <linux/balloon_compaction.h> > +#include <linux/compaction.h> > #include <linux/mmu_notifier.h> > > #include <asm/tlbflush.h> > @@ -76,7 +76,7 @@ int migrate_prep_local(void) > * from where they were once taken off for compaction/migration. > * > * This function shall be used whenever the isolated pageset has been > - * built from lru, balloon, hugetlbfs page. See isolate_migratepages_range() > + * built from lru, driver, hugetlbfs page. See i...
2015 Jul 04
1
[RFCv2 4/5] mm/compaction: compaction calls generic migration
...ugetlb.h> > #include <linux/hugetlb_cgroup.h> > #include <linux/gfp.h> > -#include <linux/balloon_compaction.h> > +#include <linux/compaction.h> > #include <linux/mmu_notifier.h> > > #include <asm/tlbflush.h> > @@ -76,7 +76,7 @@ int migrate_prep_local(void) > * from where they were once taken off for compaction/migration. > * > * This function shall be used whenever the isolated pageset has been > - * built from lru, balloon, hugetlbfs page. See isolate_migratepages_range() > + * built from lru, driver, hugetlbfs page. See i...
2016 Mar 22
2
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...w_page_t new, free_page_t free, > unsigned long private, enum migrate_mode mode, int reason); > +extern bool isolate_movable_page(struct page *page, isolate_mode_t mode); > +extern void putback_movable_page(struct page *page); > > extern int migrate_prep(void); > extern int migrate_prep_local(void); > diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h > index f4ed4f1b0c77..3885064641c4 100644 > --- a/include/linux/page-flags.h > +++ b/include/linux/page-flags.h > @@ -129,6 +129,10 @@ enum pageflags { > > /* Compound pages. Stored in first tail...
2016 Mar 22
2
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...w_page_t new, free_page_t free, > unsigned long private, enum migrate_mode mode, int reason); > +extern bool isolate_movable_page(struct page *page, isolate_mode_t mode); > +extern void putback_movable_page(struct page *page); > > extern int migrate_prep(void); > extern int migrate_prep_local(void); > diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h > index f4ed4f1b0c77..3885064641c4 100644 > --- a/include/linux/page-flags.h > +++ b/include/linux/page-flags.h > @@ -129,6 +129,10 @@ enum pageflags { > > /* Compound pages. Stored in first tail...
2016 Mar 23
1
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...ong private, enum migrate_mode mode, int reason); > > > +extern bool isolate_movable_page(struct page *page, isolate_mode_t mode); > > > +extern void putback_movable_page(struct page *page); > > > > > > extern int migrate_prep(void); > > > extern int migrate_prep_local(void); > > > diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h > > > index f4ed4f1b0c77..3885064641c4 100644 > > > --- a/include/linux/page-flags.h > > > +++ b/include/linux/page-flags.h > > > @@ -129,6 +129,10 @@ enum pageflags { >...
2016 Mar 23
1
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...ong private, enum migrate_mode mode, int reason); > > > +extern bool isolate_movable_page(struct page *page, isolate_mode_t mode); > > > +extern void putback_movable_page(struct page *page); > > > > > > extern int migrate_prep(void); > > > extern int migrate_prep_local(void); > > > diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h > > > index f4ed4f1b0c77..3885064641c4 100644 > > > --- a/include/linux/page-flags.h > > > +++ b/include/linux/page-flags.h > > > @@ -129,6 +129,10 @@ enum pageflags { >...
2016 May 17
0
[PATCH v5 02/12] mm: migrate: support non-lru movable page migration
..., > > unsigned long private, enum migrate_mode mode, int reason); > > +extern bool isolate_movable_page(struct page *page, isolate_mode_t mode); > > +extern void putback_movable_page(struct page *page); > > > > extern int migrate_prep(void); > > extern int migrate_prep_local(void); > > given that some of Movable users can be built as modules, shouldn't > at least some of those symbols be exported via EXPORT_SYMBOL? Those functions aim for VM compaction so driver shouldn't use it. Only driver should be aware of are __SetPageMovable and __CleraPageMova...
2016 Mar 21
0
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
..._pages(struct list_head *l, new_page_t new, free_page_t free, unsigned long private, enum migrate_mode mode, int reason); +extern bool isolate_movable_page(struct page *page, isolate_mode_t mode); +extern void putback_movable_page(struct page *page); extern int migrate_prep(void); extern int migrate_prep_local(void); diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index f4ed4f1b0c77..3885064641c4 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -129,6 +129,10 @@ enum pageflags { /* Compound pages. Stored in first tail page's flags */ PG_double_map...
2016 Mar 11
0
[PATCH v1 02/19] mm/compaction: support non-lru movable page migration
..._pages(struct list_head *l, new_page_t new, free_page_t free, unsigned long private, enum migrate_mode mode, int reason); +extern bool isolate_movable_page(struct page *page, isolate_mode_t mode); +extern void putback_movable_page(struct page *page); extern int migrate_prep(void); extern int migrate_prep_local(void); diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index 19724e6ebd26..cdf07c3f3a6f 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -129,6 +129,10 @@ enum pageflags { /* Compound pages. Stored in first tail page's flags */ PG_double_map...
2015 Jun 26
0
[RFCv2 4/5] mm/compaction: compaction calls generic migration
...@ -35,7 +35,7 @@ #include <linux/hugetlb.h> #include <linux/hugetlb_cgroup.h> #include <linux/gfp.h> -#include <linux/balloon_compaction.h> +#include <linux/compaction.h> #include <linux/mmu_notifier.h> #include <asm/tlbflush.h> @@ -76,7 +76,7 @@ int migrate_prep_local(void) * from where they were once taken off for compaction/migration. * * This function shall be used whenever the isolated pageset has been - * built from lru, balloon, hugetlbfs page. See isolate_migratepages_range() + * built from lru, driver, hugetlbfs page. See isolate_migratepages_range...
2016 Mar 30
0
[PATCH v3 02/16] mm/compaction: support non-lru movable page migration
..._pages(struct list_head *l, new_page_t new, free_page_t free, unsigned long private, enum migrate_mode mode, int reason); +extern bool isolate_movable_page(struct page *page, isolate_mode_t mode); +extern void putback_movable_page(struct page *page); extern int migrate_prep(void); extern int migrate_prep_local(void); diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index f4ed4f1b0c77..77ebf8fdbc6e 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -129,6 +129,10 @@ enum pageflags { /* Compound pages. Stored in first tail page's flags */ PG_double_map...
2016 Mar 22
0
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
..., > > unsigned long private, enum migrate_mode mode, int reason); > > +extern bool isolate_movable_page(struct page *page, isolate_mode_t mode); > > +extern void putback_movable_page(struct page *page); > > > > extern int migrate_prep(void); > > extern int migrate_prep_local(void); > > diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h > > index f4ed4f1b0c77..3885064641c4 100644 > > --- a/include/linux/page-flags.h > > +++ b/include/linux/page-flags.h > > @@ -129,6 +129,10 @@ enum pageflags { > > > > /* Co...
2016 Apr 01
2
[PATCH v3 02/16] mm/compaction: support non-lru movable page migration
..._page_t new, free_page_t free, > unsigned long private, enum migrate_mode mode, int reason); > +extern bool isolate_movable_page(struct page *page, isolate_mode_t mode); > +extern void putback_movable_page(struct page *page); > > extern int migrate_prep(void); > extern int migrate_prep_local(void); > diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h > index f4ed4f1b0c77..77ebf8fdbc6e 100644 > --- a/include/linux/page-flags.h > +++ b/include/linux/page-flags.h > @@ -129,6 +129,10 @@ enum pageflags { > > /* Compound pages. Stored in first tail p...
2016 Apr 01
2
[PATCH v3 02/16] mm/compaction: support non-lru movable page migration
..._page_t new, free_page_t free, > unsigned long private, enum migrate_mode mode, int reason); > +extern bool isolate_movable_page(struct page *page, isolate_mode_t mode); > +extern void putback_movable_page(struct page *page); > > extern int migrate_prep(void); > extern int migrate_prep_local(void); > diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h > index f4ed4f1b0c77..77ebf8fdbc6e 100644 > --- a/include/linux/page-flags.h > +++ b/include/linux/page-flags.h > @@ -129,6 +129,10 @@ enum pageflags { > > /* Compound pages. Stored in first tail p...
2016 Apr 04
0
[PATCH v3 02/16] mm/compaction: support non-lru movable page migration
...free, > > unsigned long private, enum migrate_mode mode, int reason); > >+extern bool isolate_movable_page(struct page *page, isolate_mode_t mode); > >+extern void putback_movable_page(struct page *page); > > > > extern int migrate_prep(void); > > extern int migrate_prep_local(void); > >diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h > >index f4ed4f1b0c77..77ebf8fdbc6e 100644 > >--- a/include/linux/page-flags.h > >+++ b/include/linux/page-flags.h > >@@ -129,6 +129,10 @@ enum pageflags { > > > > /* Compound...
2015 Mar 31
2
[PATCH] add generic callbacks into compaction
...+ if (mapping_migratable(page->mapping)) + if (page->mapping->a_ops->isolatepage(page)) goto isolate_success; - } - } continue; } diff --git a/mm/migrate.c b/mm/migrate.c index 85e0426..37cb366 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -71,6 +71,12 @@ int migrate_prep_local(void) return 0; } +static bool isolated_migratable_page(struct page *page) +{ + return page_mapped(page) == 0 && + mapping_migratable(page->mapping); +} + /* * Put previously isolated pages back onto the appropriate lists * from where they were once taken off for compaction/mi...