search for: is_lru

Displaying 20 results from an estimated 53 matches for "is_lru".

2016 May 27
2
[PATCH v6 02/12] mm: migrate: support non-lru movable page migration
...late_migratepages_block(struct compact_control *cc, unsigned long low_pfn, > } > > /* > - * Check may be lockless but that's ok as we recheck later. > - * It's possible to migrate LRU pages and balloon pages > - * Skip any other type of page > - */ > - is_lru = PageLRU(page); > - if (!is_lru) { > - if (unlikely(balloon_page_movable(page))) { > - if (balloon_page_isolate(page)) { > - /* Successfully isolated */ > - goto isolate_success; > - } > - } > - } So this effectively prevents movable compound pages from...
2016 May 27
2
[PATCH v6 02/12] mm: migrate: support non-lru movable page migration
...late_migratepages_block(struct compact_control *cc, unsigned long low_pfn, > } > > /* > - * Check may be lockless but that's ok as we recheck later. > - * It's possible to migrate LRU pages and balloon pages > - * Skip any other type of page > - */ > - is_lru = PageLRU(page); > - if (!is_lru) { > - if (unlikely(balloon_page_movable(page))) { > - if (balloon_page_isolate(page)) { > - /* Successfully isolated */ > - goto isolate_success; > - } > - } > - } So this effectively prevents movable compound pages from...
2016 Jun 13
2
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
On 05/31/2016 05:31 AM, Minchan Kim wrote: > @@ -791,6 +921,7 @@ static int __unmap_and_move(struct page *page, struct page *newpage, > int rc = -EAGAIN; > int page_was_mapped = 0; > struct anon_vma *anon_vma = NULL; > + bool is_lru = !__PageMovable(page); > > if (!trylock_page(page)) { > if (!force || mode == MIGRATE_ASYNC) > @@ -871,6 +1002,11 @@ static int __unmap_and_move(struct page *page, struct page *newpage, > goto out_unlock_both; > } > > + if (unlikely(!is_lru)) { > + rc = mo...
2016 Jun 13
2
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
On 05/31/2016 05:31 AM, Minchan Kim wrote: > @@ -791,6 +921,7 @@ static int __unmap_and_move(struct page *page, struct page *newpage, > int rc = -EAGAIN; > int page_was_mapped = 0; > struct anon_vma *anon_vma = NULL; > + bool is_lru = !__PageMovable(page); > > if (!trylock_page(page)) { > if (!force || mode == MIGRATE_ASYNC) > @@ -871,6 +1002,11 @@ static int __unmap_and_move(struct page *page, struct page *newpage, > goto out_unlock_both; > } > > + if (unlikely(!is_lru)) { > + rc = mo...
2016 May 30
0
[PATCH v6 02/12] mm: migrate: support non-lru movable page migration
...mpact_control *cc, unsigned long low_pfn, > > } > > > > /* > >- * Check may be lockless but that's ok as we recheck later. > >- * It's possible to migrate LRU pages and balloon pages > >- * Skip any other type of page > >- */ > >- is_lru = PageLRU(page); > >- if (!is_lru) { > >- if (unlikely(balloon_page_movable(page))) { > >- if (balloon_page_isolate(page)) { > >- /* Successfully isolated */ > >- goto isolate_success; > >- } > >- } > >- } > > So this effect...
2016 Jun 15
2
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...rote: >>> > > @@ -791,6 +921,7 @@ static int __unmap_and_move(struct page *page, struct page *newpage, >>> > > int rc = -EAGAIN; >>> > > int page_was_mapped = 0; >>> > > struct anon_vma *anon_vma = NULL; >>> > > + bool is_lru = !__PageMovable(page); >>> > > >>> > > if (!trylock_page(page)) { >>> > > if (!force || mode == MIGRATE_ASYNC) >>> > > @@ -871,6 +1002,11 @@ static int __unmap_and_move(struct page *page, struct page *newpage, >>> > &gt...
2016 Jun 15
2
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...rote: >>> > > @@ -791,6 +921,7 @@ static int __unmap_and_move(struct page *page, struct page *newpage, >>> > > int rc = -EAGAIN; >>> > > int page_was_mapped = 0; >>> > > struct anon_vma *anon_vma = NULL; >>> > > + bool is_lru = !__PageMovable(page); >>> > > >>> > > if (!trylock_page(page)) { >>> > > if (!force || mode == MIGRATE_ASYNC) >>> > > @@ -871,6 +1002,11 @@ static int __unmap_and_move(struct page *page, struct page *newpage, >>> > &gt...
2016 Jun 16
2
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...> @@ -791,6 +921,7 @@ static int __unmap_and_move(struct page *page, struct page *newpage, >>>>>>> int rc = -EAGAIN; >>>>>>> int page_was_mapped = 0; >>>>>>> struct anon_vma *anon_vma = NULL; >>>>>>> + bool is_lru = !__PageMovable(page); >>>>>>> >>>>>>> if (!trylock_page(page)) { >>>>>>> if (!force || mode == MIGRATE_ASYNC) >>>>>>> @@ -871,6 +1002,11 @@ static int __unmap_and_move(struct page *page, struct page *newpag...
2016 Jun 16
2
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...> @@ -791,6 +921,7 @@ static int __unmap_and_move(struct page *page, struct page *newpage, >>>>>>> int rc = -EAGAIN; >>>>>>> int page_was_mapped = 0; >>>>>>> struct anon_vma *anon_vma = NULL; >>>>>>> + bool is_lru = !__PageMovable(page); >>>>>>> >>>>>>> if (!trylock_page(page)) { >>>>>>> if (!force || mode == MIGRATE_ASYNC) >>>>>>> @@ -871,6 +1002,11 @@ static int __unmap_and_move(struct page *page, struct page *newpag...
2016 May 20
5
[PATCH v6 00/12] Support non-lru page migration
Recently, I got many reports about perfermance degradation in embedded system(Android mobile phone, webOS TV and so on) and easy fork fail. The problem was fragmentation caused by zram and GPU driver mainly. With memory pressure, their pages were spread out all of pageblock and it cannot be migrated with current compaction algorithm which supports only LRU pages. In the end, compaction cannot
2016 May 20
5
[PATCH v6 00/12] Support non-lru page migration
Recently, I got many reports about perfermance degradation in embedded system(Android mobile phone, webOS TV and so on) and easy fork fail. The problem was fragmentation caused by zram and GPU driver mainly. With memory pressure, their pages were spread out all of pageblock and it cannot be migrated with current compaction algorithm which supports only LRU pages. In the end, compaction cannot
2016 May 09
0
[PATCH v5 02/12] mm: migrate: support non-lru movable page migration
.../compaction.c @@ -735,21 +735,6 @@ isolate_migratepages_block(struct compact_control *cc, unsigned long low_pfn, } /* - * Check may be lockless but that's ok as we recheck later. - * It's possible to migrate LRU pages and balloon pages - * Skip any other type of page - */ - is_lru = PageLRU(page); - if (!is_lru) { - if (unlikely(balloon_page_movable(page))) { - if (balloon_page_isolate(page)) { - /* Successfully isolated */ - goto isolate_success; - } - } - } - - /* * Regardless of being on LRU, compound pages such as THP and * hugetlbfs are not...
2016 May 20
0
[PATCH v6 02/12] mm: migrate: support non-lru movable page migration
...FER_SHIFT 6 @@ -735,21 +770,6 @@ isolate_migratepages_block(struct compact_control *cc, unsigned long low_pfn, } /* - * Check may be lockless but that's ok as we recheck later. - * It's possible to migrate LRU pages and balloon pages - * Skip any other type of page - */ - is_lru = PageLRU(page); - if (!is_lru) { - if (unlikely(balloon_page_movable(page))) { - if (balloon_page_isolate(page)) { - /* Successfully isolated */ - goto isolate_success; - } - } - } - - /* * Regardless of being on LRU, compound pages such as THP and * hugetlbfs are not...
2016 May 30
5
PATCH v6v2 02/12] mm: migrate: support non-lru movable page migration
...FER_SHIFT 6 @@ -735,21 +768,6 @@ isolate_migratepages_block(struct compact_control *cc, unsigned long low_pfn, } /* - * Check may be lockless but that's ok as we recheck later. - * It's possible to migrate LRU pages and balloon pages - * Skip any other type of page - */ - is_lru = PageLRU(page); - if (!is_lru) { - if (unlikely(balloon_page_movable(page))) { - if (balloon_page_isolate(page)) { - /* Successfully isolated */ - goto isolate_success; - } - } - } - - /* * Regardless of being on LRU, compound pages such as THP and * hugetlbfs are not...
2016 May 30
5
PATCH v6v2 02/12] mm: migrate: support non-lru movable page migration
...FER_SHIFT 6 @@ -735,21 +768,6 @@ isolate_migratepages_block(struct compact_control *cc, unsigned long low_pfn, } /* - * Check may be lockless but that's ok as we recheck later. - * It's possible to migrate LRU pages and balloon pages - * Skip any other type of page - */ - is_lru = PageLRU(page); - if (!is_lru) { - if (unlikely(balloon_page_movable(page))) { - if (balloon_page_isolate(page)) { - /* Successfully isolated */ - goto isolate_success; - } - } - } - - /* * Regardless of being on LRU, compound pages such as THP and * hugetlbfs are not...
2016 Jun 27
2
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...int __unmap_and_move(struct page *page, struct page *newpage, >>>>>>>>> int rc = -EAGAIN; >>>>>>>>> int page_was_mapped = 0; >>>>>>>>> struct anon_vma *anon_vma = NULL; >>>>>>>>> + bool is_lru = !__PageMovable(page); >>>>>>>>> >>>>>>>>> if (!trylock_page(page)) { >>>>>>>>> if (!force || mode == MIGRATE_ASYNC) >>>>>>>>> @@ -871,6 +1002,11 @@ static int __unmap_and_move(struct...
2016 Jun 27
2
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...int __unmap_and_move(struct page *page, struct page *newpage, >>>>>>>>> int rc = -EAGAIN; >>>>>>>>> int page_was_mapped = 0; >>>>>>>>> struct anon_vma *anon_vma = NULL; >>>>>>>>> + bool is_lru = !__PageMovable(page); >>>>>>>>> >>>>>>>>> if (!trylock_page(page)) { >>>>>>>>> if (!force || mode == MIGRATE_ASYNC) >>>>>>>>> @@ -871,6 +1002,11 @@ static int __unmap_and_move(struct...
2016 May 31
0
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...FER_SHIFT 6 @@ -735,21 +773,6 @@ isolate_migratepages_block(struct compact_control *cc, unsigned long low_pfn, } /* - * Check may be lockless but that's ok as we recheck later. - * It's possible to migrate LRU pages and balloon pages - * Skip any other type of page - */ - is_lru = PageLRU(page); - if (!is_lru) { - if (unlikely(balloon_page_movable(page))) { - if (balloon_page_isolate(page)) { - /* Successfully isolated */ - goto isolate_success; - } - } - } - - /* * Regardless of being on LRU, compound pages such as THP and * hugetlbfs are not...
2016 May 09
5
[PATCH v5 00/13] Support non-lru page migration
Recently, I got many reports about perfermance degradation in embedded system(Android mobile phone, webOS TV and so on) and easy fork fail. The problem was fragmentation caused by zram and GPU driver mainly. With memory pressure, their pages were spread out all of pageblock and it cannot be migrated with current compaction algorithm which supports only LRU pages. In the end, compaction cannot
2016 May 09
5
[PATCH v5 00/13] Support non-lru page migration
Recently, I got many reports about perfermance degradation in embedded system(Android mobile phone, webOS TV and so on) and easy fork fail. The problem was fragmentation caused by zram and GPU driver mainly. With memory pressure, their pages were spread out all of pageblock and it cannot be migrated with current compaction algorithm which supports only LRU pages. In the end, compaction cannot