search for: pagemigrat

Displaying 10 results from an estimated 10 matches for "pagemigrat".

2015 Jun 03
1
[RFC 2/4] mm/balloon: apply driver page migratable into balloon driver
...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/include/linux/balloon_compaction.h > index 9b0a15d..0989e96 100644 > --- a/include/linux/balloon_co...
2015 Jun 03
1
[RFC 2/4] mm/balloon: apply driver page migratable into balloon driver
...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/include/linux/balloon_compaction.h > index 9b0a15d..0989e96 100644 > --- a/include/linux/balloon_co...
2015 Jun 02
0
[RFC 2/4] mm/balloon: apply driver page migratable into balloon driver
...b); 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/include/linux/balloon_compaction.h index 9b0a15d..0989e96 100644 --- a/include/linux/balloon_compaction.h +++ b/include/linux/balloon_compaction.h @@ -4...
2015 Jun 26
0
[RFCv2 3/5] mm/balloon: apply driver page migratable into balloon
...fo.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/balloon_compaction.h index 9b0a15d..e8a3670 100644 --- a/include/linux/balloon_compaction.h ++...
2015 Jun 26
8
[RFCv2 0/5] enable migration of driver pages
Hello, This series try to enable migration of non-LRU pages, such as driver's page. My ARM-based platform occured severe fragmentation problem after long-term (several days) test. Sometimes even order-3 page allocation failed. It has memory size 512MB ~ 1024MB. 30% ~ 40% memory is consumed for graphic processing and 20~30 memory is reserved for zram. I found that many pages of GPU driver
2015 Jun 26
8
[RFCv2 0/5] enable migration of driver pages
Hello, This series try to enable migration of non-LRU pages, such as driver's page. My ARM-based platform occured severe fragmentation problem after long-term (several days) test. Sometimes even order-3 page allocation failed. It has memory size 512MB ~ 1024MB. 30% ~ 40% memory is consumed for graphic processing and 20~30 memory is reserved for zram. I found that many pages of GPU driver
2015 Jun 03
0
[RFC 2/4] mm/balloon: apply driver page migratable into balloon driver
...s/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/include/linux/balloon_compaction.h >> index 9b0a15d..0989e96 100644 >> -...
2015 Jun 02
9
[RFC 0/4] enable migration of non-LRU pages
Hello, This series try to enable migration of non-LRU pages, such as driver's page. My ARM-based platform occured severe fragmentation problem after long-term (several days) test. Sometimes even order-3 page allocation failed. It has memory size 512MB ~ 1024MB. 30% ~ 40% memory is consumed for graphic processing and 20~30 memory is reserved for zram. I found that many pages of GPU driver
2015 Jun 02
9
[RFC 0/4] enable migration of non-LRU pages
Hello, This series try to enable migration of non-LRU pages, such as driver's page. My ARM-based platform occured severe fragmentation problem after long-term (several days) test. Sometimes even order-3 page allocation failed. It has memory size 512MB ~ 1024MB. 30% ~ 40% memory is consumed for graphic processing and 20~30 memory is reserved for zram. I found that many pages of GPU driver
2015 Jun 26
0
[RFCv2 1/5] mm/compaction: enable driver page migration
...to past failures */ #define COMPACT_DEFERRED 0 @@ -51,6 +54,10 @@ extern void compaction_defer_reset(struct zone *zone, int order, bool alloc_success); extern bool compaction_restarting(struct zone *zone, int order); +static inline bool driver_page_migratable(struct page *page) +{ + return PageMigratable(page) && mapping_migratable(page->mapping); +} #else static inline unsigned long try_to_compact_pages(gfp_t gfp_mask, unsigned int order, int alloc_flags, @@ -83,6 +90,10 @@ static inline bool compaction_deferred(struct zone *zone, int order) return true; } +static inline...