Displaying 20 results from an estimated 46 matches for "pg_isol".
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 ma...
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
tra...
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...
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...
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 addre...
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 addre...
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 addre...
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 addre...
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 addre...
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...
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...
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...
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-&...
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...
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...
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_mo...