search for: pg_movabl

Displaying 20 results from an estimated 52 matches for "pg_movabl".

Did you mean: pg_movable
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 > th...
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 > th...
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_spac...
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 a...
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 a...
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_sp...
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_sp...
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....
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: > > &...
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: > > &...
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 add...
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....
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....
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 funct...