Displaying 20 results from an estimated 52 matches for "pg_movable".
Did you mean:
pagemovable
2016 Apr 01
2
[PATCH v3 02/16] mm/compaction: support non-lru movable page migration
...is patch introduces functions related
> to migration to address_space_operations as well as some page flags.
>
> Basically, this patch supports two page-flags and two functions related
> to page migration. The flag and page->mapping stability are protected
> by PG_lock.
>
> PG_movable
> PG_isolated
>
> bool (*isolate_page) (struct page *, isolate_mode_t);
> void (*putback_page) (struct page *);
>
> Duty of subsystem want to make their pages as migratable are
> as follows:
>
> 1. It should register address_space to page->mapping then mark
> the...
2016 Apr 01
2
[PATCH v3 02/16] mm/compaction: support non-lru movable page migration
...is patch introduces functions related
> to migration to address_space_operations as well as some page flags.
>
> Basically, this patch supports two page-flags and two functions related
> to page migration. The flag and page->mapping stability are protected
> by PG_lock.
>
> PG_movable
> PG_isolated
>
> bool (*isolate_page) (struct page *, isolate_mode_t);
> void (*putback_page) (struct page *);
>
> Duty of subsystem want to make their pages as migratable are
> as follows:
>
> 1. It should register address_space to page->mapping then mark
> the...
2016 Apr 04
0
[PATCH v3 02/16] mm/compaction: support non-lru movable page migration
...related
> >to migration to address_space_operations as well as some page flags.
> >
> >Basically, this patch supports two page-flags and two functions related
> >to page migration. The flag and page->mapping stability are protected
> >by PG_lock.
> >
> > PG_movable
> > PG_isolated
> >
> > bool (*isolate_page) (struct page *, isolate_mode_t);
> > void (*putback_page) (struct page *);
> >
> >Duty of subsystem want to make their pages as migratable are
> >as follows:
> >
> >1. It should register address_space...
2016 Apr 01
2
[PATCH v3 03/16] mm: add non-lru movable page support document
...) it will pass a new page
> and an old page to this function. migrate_page should
> transfer any private data across and update any references
> - that it has to the page.
> + that it has to the page. If migrated page is non-lru page,
> + we should clear PG_isolated and PG_movable via __ClearPageIsolated
> + and __ClearPageMovable.
Similar concern as __SetPageIsolated.
> +
> + putback_page: Called by the VM when isolated page's migration fails.
> + We should clear PG_isolated marked in isolated_page function.
Note this kind of wording is less confusing an...
2016 Apr 01
2
[PATCH v3 03/16] mm: add non-lru movable page support document
...) it will pass a new page
> and an old page to this function. migrate_page should
> transfer any private data across and update any references
> - that it has to the page.
> + that it has to the page. If migrated page is non-lru page,
> + we should clear PG_isolated and PG_movable via __ClearPageIsolated
> + and __ClearPageMovable.
Similar concern as __SetPageIsolated.
> +
> + putback_page: Called by the VM when isolated page's migration fails.
> + We should clear PG_isolated marked in isolated_page function.
Note this kind of wording is less confusing an...
2016 Apr 04
1
[PATCH v3 02/16] mm/compaction: support non-lru movable page migration
...we rely on
>> PG_reclaim always (and without races) implying PageLRU() so that we
>> don't even attempt isolate_movable_page()?
>
> For now, we shouldn't have such a false positive because PageMovable
> checks page->_mapcount == PAGE_MOVABLE_MAPCOUNT_VALUE as well as PG_movable
> under PG_lock.
>
> But I read your question about user-mapped drvier pages so we cannot
> use _mapcount anymore so I will find another thing. A option is this.
>
> static inline int PageMovable(struct page *page)
> {
> int ret = 0;
> struct address_spa...
2016 Apr 04
1
[PATCH v3 02/16] mm/compaction: support non-lru movable page migration
...we rely on
>> PG_reclaim always (and without races) implying PageLRU() so that we
>> don't even attempt isolate_movable_page()?
>
> For now, we shouldn't have such a false positive because PageMovable
> checks page->_mapcount == PAGE_MOVABLE_MAPCOUNT_VALUE as well as PG_movable
> under PG_lock.
>
> But I read your question about user-mapped drvier pages so we cannot
> use _mapcount anymore so I will find another thing. A option is this.
>
> static inline int PageMovable(struct page *page)
> {
> int ret = 0;
> struct address_spa...
2016 Mar 30
0
[PATCH v3 02/16] mm/compaction: support non-lru movable page migration
...with movable. For the feature, this patch introduces functions related
to migration to address_space_operations as well as some page flags.
Basically, this patch supports two page-flags and two functions related
to page migration. The flag and page->mapping stability are protected
by PG_lock.
PG_movable
PG_isolated
bool (*isolate_page) (struct page *, isolate_mode_t);
void (*putback_page) (struct page *);
Duty of subsystem want to make their pages as migratable are
as follows:
1. It should register address_space to page->mapping then mark
the page as PG_movable via __SetPageMovable.
2. I...
2016 Apr 04
0
[PATCH v3 03/16] mm: add non-lru movable page support document
...page
> > and an old page to this function. migrate_page should
> > transfer any private data across and update any references
> >- that it has to the page.
> >+ that it has to the page. If migrated page is non-lru page,
> >+ we should clear PG_isolated and PG_movable via __ClearPageIsolated
> >+ and __ClearPageMovable.
>
> Similar concern as __SetPageIsolated.
>
> >+
> >+ putback_page: Called by the VM when isolated page's migration fails.
> >+ We should clear PG_isolated marked in isolated_page function.
>
> Note...
2016 Mar 23
1
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...ress_space_operations as well as some page flags.
> > >
> > > Basically, this patch supports two page-flags and two functions related
> > > to page migration. The flag and page->mapping stability are protected
> > > by PG_lock.
> > >
> > > PG_movable
> > > PG_isolated
> > >
> > > bool (*isolate_page) (struct page *, isolate_mode_t);
> > > void (*putback_page) (struct page *);
> > >
> > > Duty of subsystem want to make their pages as migratable are
> > > as follows:
> > &g...
2016 Mar 23
1
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...ress_space_operations as well as some page flags.
> > >
> > > Basically, this patch supports two page-flags and two functions related
> > > to page migration. The flag and page->mapping stability are protected
> > > by PG_lock.
> > >
> > > PG_movable
> > > PG_isolated
> > >
> > > bool (*isolate_page) (struct page *, isolate_mode_t);
> > > void (*putback_page) (struct page *);
> > >
> > > Duty of subsystem want to make their pages as migratable are
> > > as follows:
> > &g...
2016 Mar 22
2
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...patch introduces functions related
> to migration to address_space_operations as well as some page flags.
>
> Basically, this patch supports two page-flags and two functions related
> to page migration. The flag and page->mapping stability are protected
> by PG_lock.
>
> PG_movable
> PG_isolated
>
> bool (*isolate_page) (struct page *, isolate_mode_t);
> void (*putback_page) (struct page *);
>
> Duty of subsystem want to make their pages as migratable are
> as follows:
>
> 1. It should register address_space to page->mapping then mark
>...
2016 Mar 22
2
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...patch introduces functions related
> to migration to address_space_operations as well as some page flags.
>
> Basically, this patch supports two page-flags and two functions related
> to page migration. The flag and page->mapping stability are protected
> by PG_lock.
>
> PG_movable
> PG_isolated
>
> bool (*isolate_page) (struct page *, isolate_mode_t);
> void (*putback_page) (struct page *);
>
> Duty of subsystem want to make their pages as migratable are
> as follows:
>
> 1. It should register address_space to page->mapping then mark
>...
2016 Apr 04
1
[PATCH v3 03/16] mm: add non-lru movable page support document
...each
>> user handles concurrent calls to isolate_page() internally. Might be
>> more generic that way, even if all current implementers will
>> actually use the page lock.
>
> We need PG_lock for two reasons.
>
> Firstly, it guarantees page's flags operation(i.e., PG_movable, PG_isolated)
> atomicity. Another thing is for stability for page->mapping->a_ops.
>
> For example,
>
> isolate_migratepages_block
> if (PageMovable(page))
> isolate_movable_page
> get_page_unless_zero <--- 1
>...
2016 Apr 04
1
[PATCH v3 03/16] mm: add non-lru movable page support document
...each
>> user handles concurrent calls to isolate_page() internally. Might be
>> more generic that way, even if all current implementers will
>> actually use the page lock.
>
> We need PG_lock for two reasons.
>
> Firstly, it guarantees page's flags operation(i.e., PG_movable, PG_isolated)
> atomicity. Another thing is for stability for page->mapping->a_ops.
>
> For example,
>
> isolate_migratepages_block
> if (PageMovable(page))
> isolate_movable_page
> get_page_unless_zero <--- 1
>...
2016 Mar 30
0
[PATCH v3 03/16] mm: add non-lru movable page support document
...signalling imminent failure) it will pass a new page
and an old page to this function. migrate_page should
transfer any private data across and update any references
- that it has to the page.
+ that it has to the page. If migrated page is non-lru page,
+ we should clear PG_isolated and PG_movable via __ClearPageIsolated
+ and __ClearPageMovable.
+
+ putback_page: Called by the VM when isolated page's migration fails.
+ We should clear PG_isolated marked in isolated_page function.
launder_page: Called before freeing a page - it writes back the dirty page. To
prevent redirtying...
2016 Mar 22
0
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...> > to migration to address_space_operations as well as some page flags.
> >
> > Basically, this patch supports two page-flags and two functions related
> > to page migration. The flag and page->mapping stability are protected
> > by PG_lock.
> >
> > PG_movable
> > PG_isolated
> >
> > bool (*isolate_page) (struct page *, isolate_mode_t);
> > void (*putback_page) (struct page *);
> >
> > Duty of subsystem want to make their pages as migratable are
> > as follows:
> >
> > 1. It should register addr...
2016 Mar 21
0
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...with movable. For the feature, this patch introduces functions related
to migration to address_space_operations as well as some page flags.
Basically, this patch supports two page-flags and two functions related
to page migration. The flag and page->mapping stability are protected
by PG_lock.
PG_movable
PG_isolated
bool (*isolate_page) (struct page *, isolate_mode_t);
void (*putback_page) (struct page *);
Duty of subsystem want to make their pages as migratable are
as follows:
1. It should register address_space to page->mapping then mark
the page as PG_movable via __SetPageMovable.
2. I...
2016 Mar 11
0
[PATCH v1 02/19] mm/compaction: support non-lru movable page migration
...with movable. For the feature, this patch introduces functions related
to migration to address_space_operations as well as some page flags.
Basically, this patch supports two page-flags and two functions related
to page migration. The flag and page->mapping stability are protected
by PG_lock.
PG_movable
PG_isolated
bool (*isolate_page) (struct page *, isolate_mode_t);
void (*putback_page) (struct page *);
Duty of subsystem want to make their pages as migratable are
as follows:
1. It should register address_space to page->mapping then mark
the page as PG_movable via __SetPageMovable.
2. I...
2016 May 30
0
PATCH v6v2 02/12] mm: migrate: support non-lru movable page migration
On 05/30/2016 03:39 AM, Minchan Kim wrote:
> After isolation, VM calls migratepage of driver with isolated page.
> The function of migratepage is to move content of the old page to new page
> and set up fields of struct page newpage. Keep in mind that you should
> clear PG_movable of oldpage via __ClearPageMovable under page_lock if you
> migrated the oldpage successfully and returns 0.
This "clear PG_movable" is one of the reasons I was confused about what
__ClearPageMovable() really does. There's no actual "PG_movable" page
flag and the functi...