Displaying 20 results from an estimated 30 matches for "page_was_map".
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_b...
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_b...
2016 Jun 15
2
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...Jun 13, 2016 at 03:08:19PM +0530, Anshuman Khandual wrote:
>> > 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,...
2016 Jun 15
2
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...Jun 13, 2016 at 03:08:19PM +0530, Anshuman Khandual wrote:
>> > 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,...
2016 Jun 16
2
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...M +0530, Anshuman Khandual wrote:
>>>>> 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)
&...
2016 Jun 16
2
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...M +0530, Anshuman Khandual wrote:
>>>>> 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)
&...
2016 Jun 27
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)) {
>>>>>>>>>...
2016 Jun 27
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)) {
>>>>>>>>>...
2016 Jun 15
0
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
Hi,
On Mon, Jun 13, 2016 at 03:08:19PM +0530, Anshuman Khandual wrote:
> 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 *newp...
2016 Jun 16
0
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...andual wrote:
> >>>>> 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 ||...
2016 Jun 16
0
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...8:19PM +0530, Anshuman Khandual wrote:
> >> > 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)
> &...
2016 Jun 28
0
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...gt;>>> 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)) {
> >>>&...
2016 Jun 30
1
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...t;> 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)) {
>&g...
2016 Jun 30
1
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...t;> 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)) {
>&g...
2016 May 30
5
PATCH v6v2 02/12] mm: migrate: support non-lru movable page migration
...are so don't reset it here for keeping
+ * the type to work PageAnon, for example.
+ */
+ if (!PageMappingFlags(page))
page->mapping = NULL;
}
+out:
return rc;
}
@@ -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))...
2016 May 30
5
PATCH v6v2 02/12] mm: migrate: support non-lru movable page migration
...are so don't reset it here for keeping
+ * the type to work PageAnon, for example.
+ */
+ if (!PageMappingFlags(page))
page->mapping = NULL;
}
+out:
return rc;
}
@@ -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))...
2016 May 09
0
[PATCH v5 02/12] mm: migrate: support non-lru movable page migration
...te this page.
+ */
+ __ClearPageIsolated(page);
+ }
+
+ if (!((unsigned long)page->mapping & PAGE_MAPPING_FLAGS))
page->mapping = NULL;
}
+out:
return rc;
}
@@ -791,6 +947,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 +1028,11 @@ static int __unmap_and_move(struct page *page, struct page *newpage,
goto out_unlock_both;
}
+ if (unlikely(!is_lru))...
2016 May 20
0
[PATCH v6 02/12] mm: migrate: support non-lru movable page migration
...te this page.
+ */
+ __ClearPageIsolated(page);
+ }
+
+ if (!((unsigned long)page->mapping & PAGE_MAPPING_FLAGS))
page->mapping = NULL;
}
+out:
return rc;
}
@@ -791,6 +916,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 +997,11 @@ static int __unmap_and_move(struct page *page, struct page *newpage,
goto out_unlock_both;
}
+ if (unlikely(!is_lru))...
2016 May 31
0
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...are so don't reset it here for keeping
+ * the type to work PageAnon, for example.
+ */
+ if (!PageMappingFlags(page))
page->mapping = NULL;
}
+out:
return rc;
}
@@ -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))...
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