search for: pg_isolated

Displaying 20 results from an estimated 46 matches for "pg_isolated".

2016 Apr 01
2
[PATCH v3 03/16] mm: add non-lru movable page support document
...ress_space_operations { > and transfer data directly between the storage and the > application's address space. > > + isolate_page: Called by the VM when isolating a movable non-lru page. > + If page is successfully isolated, we should mark the page as > + PG_isolated via __SetPageIsolated. Patch 02 changelog suggests SetPageIsolated, so this is confusing. I guess the main point is that there might be parallel attempts and only one is allowed to succeed, right? Whether it's done by atomic ops or otherwise doesn't matter to e.g. compaction. >...
2016 Apr 01
2
[PATCH v3 03/16] mm: add non-lru movable page support document
...ress_space_operations { > and transfer data directly between the storage and the > application's address space. > > + isolate_page: Called by the VM when isolating a movable non-lru page. > + If page is successfully isolated, we should mark the page as > + PG_isolated via __SetPageIsolated. Patch 02 changelog suggests SetPageIsolated, so this is confusing. I guess the main point is that there might be parallel attempts and only one is allowed to succeed, right? Whether it's done by atomic ops or otherwise doesn't matter to e.g. compaction. >...
2016 Apr 04
0
[PATCH v3 03/16] mm: add non-lru movable page support document
...gt; > and transfer data directly between the storage and the > > application's address space. > > > >+ isolate_page: Called by the VM when isolating a movable non-lru page. > >+ If page is successfully isolated, we should mark the page as > >+ PG_isolated via __SetPageIsolated. > > Patch 02 changelog suggests SetPageIsolated, so this is confusing. I > guess the main point is that there might be parallel attempts and > only one is allowed to succeed, right? Whether it's done by atomic Right. > ops or otherwise doesn't matter...
2016 Mar 30
0
[PATCH v3 03/16] mm: add non-lru movable page support document
...-752,12 +752,21 @@ struct address_space_operations { and transfer data directly between the storage and the application's address space. + isolate_page: Called by the VM when isolating a movable non-lru page. + If page is successfully isolated, we should mark the page as + PG_isolated via __SetPageIsolated. + migrate_page: This is used to compact the physical memory usage. If the VM wants to relocate a page (maybe off a memory card that is signalling imminent failure) it will pass a new page and an old page to this function. migrate_page should transfe...
2016 Apr 04
1
[PATCH v3 03/16] mm: add non-lru movable page support document
...t; 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
...t; 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 22
2
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...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_mov...
2016 Mar 22
2
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...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_mov...
2016 May 09
0
[PATCH v5 02/12] mm: migrate: support non-lru movable page migration
...ine three functions which are function pointers of struct address_space_operations. 1. bool (*isolate_page) (struct page *page, isolate_mode_t mode); What VM expects on isolate_page function of driver is to return *true* if driver isolates page successfully. On returing true, VM marks the page as PG_isolated so concurrent isolation in several CPUs skip the page for isolation. If a driver cannot isolate the page, it should return *false*. Once page is successfully isolated, VM uses page.lru fields so driver shouldn't expect to preserve values in that fields. 2. int (*migratepage) (struct address_s...
2016 May 20
0
[PATCH v6 02/12] mm: migrate: support non-lru movable page migration
...ine three functions which are function pointers of struct address_space_operations. 1. bool (*isolate_page) (struct page *page, isolate_mode_t mode); What VM expects on isolate_page function of driver is to return *true* if driver isolates page successfully. On returing true, VM marks the page as PG_isolated so concurrent isolation in several CPUs skip the page for isolation. If a driver cannot isolate the page, it should return *false*. Once page is successfully isolated, VM uses page.lru fields so driver shouldn't expect to preserve values in that fields. 2. int (*migratepage) (struct address_s...
2016 May 31
0
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...ine three functions which are function pointers of struct address_space_operations. 1. bool (*isolate_page) (struct page *page, isolate_mode_t mode); What VM expects on isolate_page function of driver is to return *true* if driver isolates page successfully. On returing true, VM marks the page as PG_isolated so concurrent isolation in several CPUs skip the page for isolation. If a driver cannot isolate the page, it should return *false*. Once page is successfully isolated, VM uses page.lru fields so driver shouldn't expect to preserve values in that fields. 2. int (*migratepage) (struct address_s...
2016 May 30
5
PATCH v6v2 02/12] mm: migrate: support non-lru movable page migration
...ine three functions which are function pointers of struct address_space_operations. 1. bool (*isolate_page) (struct page *page, isolate_mode_t mode); What VM expects on isolate_page function of driver is to return *true* if driver isolates page successfully. On returing true, VM marks the page as PG_isolated so concurrent isolation in several CPUs skip the page for isolation. If a driver cannot isolate the page, it should return *false*. Once page is successfully isolated, VM uses page.lru fields so driver shouldn't expect to preserve values in that fields. 2. int (*migratepage) (struct address_s...
2016 May 30
5
PATCH v6v2 02/12] mm: migrate: support non-lru movable page migration
...ine three functions which are function pointers of struct address_space_operations. 1. bool (*isolate_page) (struct page *page, isolate_mode_t mode); What VM expects on isolate_page function of driver is to return *true* if driver isolates page successfully. On returing true, VM marks the page as PG_isolated so concurrent isolation in several CPUs skip the page for isolation. If a driver cannot isolate the page, it should return *false*. Once page is successfully isolated, VM uses page.lru fields so driver shouldn't expect to preserve values in that fields. 2. int (*migratepage) (struct address_s...
2016 Mar 30
0
[PATCH v3 02/16] mm/compaction: support non-lru movable page migration
.... 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. It should mark...
2016 Mar 23
1
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...ll 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 sho...
2016 Mar 23
1
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...ll 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 sho...
2016 Mar 22
0
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...n 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->m...
2016 May 20
5
[PATCH v6 00/12] Support non-lru page migration
...blem, this patch tries to add facility to migrate non-lru pages via introducing new functions and page flags to help migration. struct address_space_operations { .. .. bool (*isolate_page)(struct page *, isolate_mode_t); void (*putback_page)(struct page *); .. } new page flags PG_movable PG_isolated For details, please read description in "mm: migrate: support non-lru movable page migration". Originally, Gioh Kim had tried to support this feature but he moved so I took over the work. I took many code from his work and changed a little bit and Konstantin Khlebnikov helped Gioh a lot...
2016 May 20
5
[PATCH v6 00/12] Support non-lru page migration
...blem, this patch tries to add facility to migrate non-lru pages via introducing new functions and page flags to help migration. struct address_space_operations { .. .. bool (*isolate_page)(struct page *, isolate_mode_t); void (*putback_page)(struct page *); .. } new page flags PG_movable PG_isolated For details, please read description in "mm: migrate: support non-lru movable page migration". Originally, Gioh Kim had tried to support this feature but he moved so I took over the work. I took many code from his work and changed a little bit and Konstantin Khlebnikov helped Gioh a lot...
2016 Apr 01
2
[PATCH v3 02/16] mm/compaction: support non-lru movable page migration
...es 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_movabl...