search for: stable_page_flags

Displaying 20 results from an estimated 41 matches for "stable_page_flags".

2016 Apr 05
1
[PATCH v3 04/16] mm/balloon: use general movable page feature into balloon
...PageBalloon(struct page *page) > +{ > + return atomic_read(&page->_mapcount) == PAGE_BALLOON_MAPCOUNT_VALUE > + && PagePrivate2(page); > +} Hmm so you are now using PG_private_2 flag here, but it's not documented. Also the only caller of PageBalloon() seems to be stable_page_flags(). Which will now report all movable pages with PG_private_2 as KPF_BALOON. Seems like an overkill and also not reliable. Could it test e.g. page->mapping instead? Or maybe if we manage to get rid of PAGE_MOVABLE_MAPCOUNT_VALUE, we can keep PAGE_BALLOON_MAPCOUNT_VALUE to simply distinguish b...
2016 Apr 05
1
[PATCH v3 04/16] mm/balloon: use general movable page feature into balloon
...PageBalloon(struct page *page) > +{ > + return atomic_read(&page->_mapcount) == PAGE_BALLOON_MAPCOUNT_VALUE > + && PagePrivate2(page); > +} Hmm so you are now using PG_private_2 flag here, but it's not documented. Also the only caller of PageBalloon() seems to be stable_page_flags(). Which will now report all movable pages with PG_private_2 as KPF_BALOON. Seems like an overkill and also not reliable. Could it test e.g. page->mapping instead? Or maybe if we manage to get rid of PAGE_MOVABLE_MAPCOUNT_VALUE, we can keep PAGE_BALLOON_MAPCOUNT_VALUE to simply distinguish b...
2015 Jul 27
2
[PATCH 2/4] mm/compaction: enable mobile-page migration
...flags.h | 19 ++++++++ > include/uapi/linux/kernel-page-flags.h | 1 + > 5 files changed, 105 insertions(+) > > diff --git a/fs/proc/page.c b/fs/proc/page.c > index 7eee2d8..a4f5a00 100644 > --- a/fs/proc/page.c > +++ b/fs/proc/page.c > @@ -146,6 +146,9 @@ u64 stable_page_flags(struct page *page) > if (PageBalloon(page)) > u |= 1 << KPF_BALLOON; > > + if (PageMobile(page)) > + u |= 1 << KPF_MOBILE; PageMovable() would probably be as good a name and correspond to MIGRATE_MOVABLE somewhat, unlike a completely new term. Whatever driver s...
2015 Jul 27
2
[PATCH 2/4] mm/compaction: enable mobile-page migration
...flags.h | 19 ++++++++ > include/uapi/linux/kernel-page-flags.h | 1 + > 5 files changed, 105 insertions(+) > > diff --git a/fs/proc/page.c b/fs/proc/page.c > index 7eee2d8..a4f5a00 100644 > --- a/fs/proc/page.c > +++ b/fs/proc/page.c > @@ -146,6 +146,9 @@ u64 stable_page_flags(struct page *page) > if (PageBalloon(page)) > u |= 1 << KPF_BALLOON; > > + if (PageMobile(page)) > + u |= 1 << KPF_MOBILE; PageMovable() would probably be as good a name and correspond to MIGRATE_MOVABLE somewhat, unlike a completely new term. Whatever driver s...
2015 Jul 31
1
[PATCH 2/4] mm/compaction: enable mobile-page migration
...-flags.h | 19 ++++++++ > include/uapi/linux/kernel-page-flags.h | 1 + > 5 files changed, 105 insertions(+) > > diff --git a/fs/proc/page.c b/fs/proc/page.c > index 7eee2d8..a4f5a00 100644 > --- a/fs/proc/page.c > +++ b/fs/proc/page.c > @@ -146,6 +146,9 @@ u64 stable_page_flags(struct page *page) > if (PageBalloon(page)) > u |= 1 << KPF_BALLOON; > > + if (PageMobile(page)) > + u |= 1 << KPF_MOBILE; > + Need a new page flag for non-LRU page migration? I am worry that we don't have empty slot for page flag on 32-bit. Aha, see SetP...
2015 Jul 31
1
[PATCH 2/4] mm/compaction: enable mobile-page migration
...-flags.h | 19 ++++++++ > include/uapi/linux/kernel-page-flags.h | 1 + > 5 files changed, 105 insertions(+) > > diff --git a/fs/proc/page.c b/fs/proc/page.c > index 7eee2d8..a4f5a00 100644 > --- a/fs/proc/page.c > +++ b/fs/proc/page.c > @@ -146,6 +146,9 @@ u64 stable_page_flags(struct page *page) > if (PageBalloon(page)) > u |= 1 << KPF_BALLOON; > > + if (PageMobile(page)) > + u |= 1 << KPF_MOBILE; > + Need a new page flag for non-LRU page migration? I am worry that we don't have empty slot for page flag on 32-bit. Aha, see SetP...
2015 Jul 07
0
[RFCv3 2/5] mm/compaction: enable mobile-page migration
...| 2 + include/linux/page-flags.h | 19 +++++++++ include/uapi/linux/kernel-page-flags.h | 1 + 5 files changed, 101 insertions(+) diff --git a/fs/proc/page.c b/fs/proc/page.c index 7eee2d8..a4f5a00 100644 --- a/fs/proc/page.c +++ b/fs/proc/page.c @@ -146,6 +146,9 @@ u64 stable_page_flags(struct page *page) if (PageBalloon(page)) u |= 1 << KPF_BALLOON; + if (PageMobile(page)) + u |= 1 << KPF_MOBILE; + u |= kpf_copy_bit(k, KPF_LOCKED, PG_locked); u |= kpf_copy_bit(k, KPF_SLAB, PG_slab); diff --git a/include/linux/compaction.h b/include/linux/compaction.h in...
2015 Jul 13
0
[PATCH 2/4] mm/compaction: enable mobile-page migration
...| 2 + include/linux/page-flags.h | 19 ++++++++ include/uapi/linux/kernel-page-flags.h | 1 + 5 files changed, 105 insertions(+) diff --git a/fs/proc/page.c b/fs/proc/page.c index 7eee2d8..a4f5a00 100644 --- a/fs/proc/page.c +++ b/fs/proc/page.c @@ -146,6 +146,9 @@ u64 stable_page_flags(struct page *page) if (PageBalloon(page)) u |= 1 << KPF_BALLOON; + if (PageMobile(page)) + u |= 1 << KPF_MOBILE; + u |= kpf_copy_bit(k, KPF_LOCKED, PG_locked); u |= kpf_copy_bit(k, KPF_SLAB, PG_slab); diff --git a/include/linux/compaction.h b/include/linux/compaction.h in...
2015 Jun 03
1
[RFC 2/4] mm/balloon: apply driver page migratable into balloon driver
..., > + &balloon_aops); > #endif > > err = init_vqs(vb); > diff --git a/fs/proc/page.c b/fs/proc/page.c > index 7eee2d8..e741307 100644 > --- a/fs/proc/page.c > +++ b/fs/proc/page.c > @@ -143,8 +143,8 @@ u64 stable_page_flags(struct page *page) > if (PageBuddy(page)) > u |= 1 << KPF_BUDDY; > > - if (PageBalloon(page)) > - u |= 1 << KPF_BALLOON; > + if (PageMigratable(page)) > + u |= 1 << KPF_MIGRATABLE; > >...
2015 Jun 03
1
[RFC 2/4] mm/balloon: apply driver page migratable into balloon driver
..., > + &balloon_aops); > #endif > > err = init_vqs(vb); > diff --git a/fs/proc/page.c b/fs/proc/page.c > index 7eee2d8..e741307 100644 > --- a/fs/proc/page.c > +++ b/fs/proc/page.c > @@ -143,8 +143,8 @@ u64 stable_page_flags(struct page *page) > if (PageBuddy(page)) > u |= 1 << KPF_BUDDY; > > - if (PageBalloon(page)) > - u |= 1 << KPF_BALLOON; > + if (PageMigratable(page)) > + u |= 1 << KPF_MIGRATABLE; > >...
2015 Jun 26
0
[RFCv2 3/5] mm/balloon: apply driver page migratable into balloon
..._dev_info.inode->i_mapping->a_ops = &balloon_aops; + mapping_set_migratable(vb->vb_dev_info.inode->i_mapping); #endif err = init_vqs(vb); diff --git a/fs/proc/page.c b/fs/proc/page.c index 7eee2d8..2dc3673 100644 --- a/fs/proc/page.c +++ b/fs/proc/page.c @@ -146,6 +146,9 @@ u64 stable_page_flags(struct page *page) if (PageBalloon(page)) u |= 1 << KPF_BALLOON; + if (PageMigratable(page)) + u |= 1 << KPF_MIGRATABLE; + u |= kpf_copy_bit(k, KPF_LOCKED, PG_locked); u |= kpf_copy_bit(k, KPF_SLAB, PG_slab); diff --git a/include/linux/balloon_compaction.h b/include/linux...
2015 Jul 27
0
[PATCH 2/4] mm/compaction: enable mobile-page migration
...+ >> include/uapi/linux/kernel-page-flags.h | 1 + >> 5 files changed, 105 insertions(+) >> >> diff --git a/fs/proc/page.c b/fs/proc/page.c >> index 7eee2d8..a4f5a00 100644 >> --- a/fs/proc/page.c >> +++ b/fs/proc/page.c >> @@ -146,6 +146,9 @@ u64 stable_page_flags(struct page *page) >> if (PageBalloon(page)) >> u |= 1 << KPF_BALLOON; >> >> + if (PageMobile(page)) >> + u |= 1 << KPF_MOBILE; > > > PageMovable() would probably be as good a name and correspond to >...
2015 Jun 02
0
[RFC 2/4] mm/balloon: apply driver page migratable into balloon driver
...balloon_migratepage; + vb->vb_dev_info.mapping = balloon_mapping_alloc(&vb->vb_dev_info, + &balloon_aops); #endif err = init_vqs(vb); diff --git a/fs/proc/page.c b/fs/proc/page.c index 7eee2d8..e741307 100644 --- a/fs/proc/page.c +++ b/fs/proc/page.c @@ -143,8 +143,8 @@ u64 stable_page_flags(struct page *page) if (PageBuddy(page)) u |= 1 << KPF_BUDDY; - if (PageBalloon(page)) - u |= 1 << KPF_BALLOON; + if (PageMigratable(page)) + u |= 1 << KPF_MIGRATABLE; u |= kpf_copy_bit(k, KPF_LOCKED, PG_locked); diff --git a/include/linux/balloon_compaction.h b/incl...
2016 Mar 22
2
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...struct page *, unsigned long, > unsigned long); > void (*is_dirty_writeback) (struct page *, bool *, bool *); > diff --git a/fs/proc/page.c b/fs/proc/page.c > index 712f1b9992cc..e2066e73a9b8 100644 > --- a/fs/proc/page.c > +++ b/fs/proc/page.c > @@ -157,6 +157,9 @@ u64 stable_page_flags(struct page *page) > if (page_is_idle(page)) > u |= 1 << KPF_IDLE; > > + if (PageMovable(page)) > + u |= 1 << KPF_MOVABLE; > + > u |= kpf_copy_bit(k, KPF_LOCKED, PG_locked); > > u |= kpf_copy_bit(k, KPF_SLAB, PG_slab); > diff --git a/include/...
2016 Mar 22
2
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...struct page *, unsigned long, > unsigned long); > void (*is_dirty_writeback) (struct page *, bool *, bool *); > diff --git a/fs/proc/page.c b/fs/proc/page.c > index 712f1b9992cc..e2066e73a9b8 100644 > --- a/fs/proc/page.c > +++ b/fs/proc/page.c > @@ -157,6 +157,9 @@ u64 stable_page_flags(struct page *page) > if (page_is_idle(page)) > u |= 1 << KPF_IDLE; > > + if (PageMovable(page)) > + u |= 1 << KPF_MOVABLE; > + > u |= kpf_copy_bit(k, KPF_LOCKED, PG_locked); > > u |= kpf_copy_bit(k, KPF_SLAB, PG_slab); > diff --git a/include/...
2015 Jun 03
0
[RFC 2/4] mm/balloon: apply driver page migratable into balloon driver
...&balloon_aops); >> #endif >> >> err = init_vqs(vb); >> diff --git a/fs/proc/page.c b/fs/proc/page.c >> index 7eee2d8..e741307 100644 >> --- a/fs/proc/page.c >> +++ b/fs/proc/page.c >> @@ -143,8 +143,8 @@ u64 stable_page_flags(struct page *page) >> if (PageBuddy(page)) >> u |= 1 << KPF_BUDDY; >> >> - if (PageBalloon(page)) >> - u |= 1 << KPF_BALLOON; >> + if (PageMigratable(page)) >> + u |= 1 << K...
2015 Jul 10
1
[RFCv3 2/5] mm/compaction: enable mobile-page migration
...-flags.h | 19 +++++++++ > include/uapi/linux/kernel-page-flags.h | 1 + > 5 files changed, 101 insertions(+) > > diff --git a/fs/proc/page.c b/fs/proc/page.c > index 7eee2d8..a4f5a00 100644 > --- a/fs/proc/page.c > +++ b/fs/proc/page.c > @@ -146,6 +146,9 @@ u64 stable_page_flags(struct page *page) > if (PageBalloon(page)) > u |= 1 << KPF_BALLOON; > > + if (PageMobile(page)) > + u |= 1 << KPF_MOBILE; > + > u |= kpf_copy_bit(k, KPF_LOCKED, PG_locked); > > u |= kpf_copy_b...
2015 Jul 10
1
[RFCv3 2/5] mm/compaction: enable mobile-page migration
...-flags.h | 19 +++++++++ > include/uapi/linux/kernel-page-flags.h | 1 + > 5 files changed, 101 insertions(+) > > diff --git a/fs/proc/page.c b/fs/proc/page.c > index 7eee2d8..a4f5a00 100644 > --- a/fs/proc/page.c > +++ b/fs/proc/page.c > @@ -146,6 +146,9 @@ u64 stable_page_flags(struct page *page) > if (PageBalloon(page)) > u |= 1 << KPF_BALLOON; > > + if (PageMobile(page)) > + u |= 1 << KPF_MOBILE; > + > u |= kpf_copy_bit(k, KPF_LOCKED, PG_locked); > > u |= kpf_copy_b...
2016 Mar 23
1
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...; > > void (*is_dirty_writeback) (struct page *, bool *, bool *); > > > diff --git a/fs/proc/page.c b/fs/proc/page.c > > > index 712f1b9992cc..e2066e73a9b8 100644 > > > --- a/fs/proc/page.c > > > +++ b/fs/proc/page.c > > > @@ -157,6 +157,9 @@ u64 stable_page_flags(struct page *page) > > > if (page_is_idle(page)) > > > u |= 1 << KPF_IDLE; > > > > > > + if (PageMovable(page)) > > > + u |= 1 << KPF_MOVABLE; > > > + > > > u |= kpf_copy_bit(k, KPF_LOCKED, PG_locked); > > &g...
2016 Mar 23
1
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...; > > void (*is_dirty_writeback) (struct page *, bool *, bool *); > > > diff --git a/fs/proc/page.c b/fs/proc/page.c > > > index 712f1b9992cc..e2066e73a9b8 100644 > > > --- a/fs/proc/page.c > > > +++ b/fs/proc/page.c > > > @@ -157,6 +157,9 @@ u64 stable_page_flags(struct page *page) > > > if (page_is_idle(page)) > > > u |= 1 << KPF_IDLE; > > > > > > + if (PageMovable(page)) > > > + u |= 1 << KPF_MOVABLE; > > > + > > > u |= kpf_copy_bit(k, KPF_LOCKED, PG_locked); > > &g...