search for: free_pages_check

Displaying 20 results from an estimated 25 matches for "free_pages_check".

2007 Apr 18
2
[patch 1/9] Guest page hinting: unused / free pages.
..._STATES_H */ diff -urpN linux-2.6/mm/page_alloc.c linux-2.6-patched/mm/page_alloc.c --- linux-2.6/mm/page_alloc.c 2006-09-01 12:49:33.000000000 +0200 +++ linux-2.6-patched/mm/page_alloc.c 2006-09-01 12:49:35.000000000 +0200 @@ -515,6 +515,7 @@ static void __free_pages_ok(struct page reserved += free_pages_check(page + i); if (reserved) return; + page_set_unused(page, order); kernel_map_pages(page, 1 << order, 0); local_irq_save(flags); @@ -798,6 +799,7 @@ static void fastcall free_hot_cold_page( page->mapping = NULL; if (free_pages_check(page)) return; + page_set_unused(page, 0...
2007 Apr 18
2
[patch 1/9] Guest page hinting: unused / free pages.
..._STATES_H */ diff -urpN linux-2.6/mm/page_alloc.c linux-2.6-patched/mm/page_alloc.c --- linux-2.6/mm/page_alloc.c 2006-09-01 12:49:33.000000000 +0200 +++ linux-2.6-patched/mm/page_alloc.c 2006-09-01 12:49:35.000000000 +0200 @@ -515,6 +515,7 @@ static void __free_pages_ok(struct page reserved += free_pages_check(page + i); if (reserved) return; + page_set_unused(page, order); kernel_map_pages(page, 1 << order, 0); local_irq_save(flags); @@ -798,6 +799,7 @@ static void fastcall free_hot_cold_page( page->mapping = NULL; if (free_pages_check(page)) return; + page_set_unused(page, 0...
2016 Apr 06
1
[PATCH v3 01/16] mm: use put_page to free page instead of putback_lru_page
...to buddy. > > So, some code to split buddy block including bad page (and recovering code from > > unpoison) might be helpful, although that's another story ... > > Hm sounds like another argument for not freeing the page to buddy lists > in the first place. Maybe a hook in free_pages_check()? Sounds a good idea. I'll try it, too. Thanks, Naoya Horiguchi
2016 Apr 06
1
[PATCH v3 01/16] mm: use put_page to free page instead of putback_lru_page
...to buddy. > > So, some code to split buddy block including bad page (and recovering code from > > unpoison) might be helpful, although that's another story ... > > Hm sounds like another argument for not freeing the page to buddy lists > in the first place. Maybe a hook in free_pages_check()? Sounds a good idea. I'll try it, too. Thanks, Naoya Horiguchi
2016 Apr 05
2
[PATCH v3 01/16] mm: use put_page to free page instead of putback_lru_page
On Mon, Apr 04, 2016 at 04:46:31PM +0200, Vlastimil Babka wrote: > On 04/04/2016 06:45 AM, Naoya Horiguchi wrote: > > On Mon, Apr 04, 2016 at 10:39:17AM +0900, Minchan Kim wrote: ... > >>> > >>> Also (but not your fault) the put_page() preceding > >>> test_set_page_hwpoison(page)) IMHO deserves a comment saying which > >>> pin we are
2016 Apr 05
2
[PATCH v3 01/16] mm: use put_page to free page instead of putback_lru_page
On Mon, Apr 04, 2016 at 04:46:31PM +0200, Vlastimil Babka wrote: > On 04/04/2016 06:45 AM, Naoya Horiguchi wrote: > > On Mon, Apr 04, 2016 at 10:39:17AM +0900, Minchan Kim wrote: ... > >>> > >>> Also (but not your fault) the put_page() preceding > >>> test_set_page_hwpoison(page)) IMHO deserves a comment saying which > >>> pin we are
2016 Apr 05
0
[PATCH v3 01/16] mm: use put_page to free page instead of putback_lru_page
...can't bring it back to buddy. > So, some code to split buddy block including bad page (and recovering code from > unpoison) might be helpful, although that's another story ... Hm sounds like another argument for not freeing the page to buddy lists in the first place. Maybe a hook in free_pages_check()? > Thanks, > Naoya Horiguchi >
2016 May 09
0
[PATCH v5 02/12] mm: migrate: support non-lru movable page migration
...ge_alloc.c +++ b/mm/page_alloc.c @@ -1015,7 +1015,7 @@ static __always_inline bool free_pages_prepare(struct page *page, (page + i)->flags &= ~PAGE_FLAGS_CHECK_AT_PREP; } } - if (PageAnonHead(page)) + if (PageMappingFlag(page)) page->mapping = NULL; if (check_free) bad += free_pages_check(page); diff --git a/mm/util.c b/mm/util.c index 917e0e3d0f8e..b756ee36f7f0 100644 --- a/mm/util.c +++ b/mm/util.c @@ -399,10 +399,12 @@ struct address_space *page_mapping(struct page *page) } mapping = page->mapping; - if ((unsigned long)mapping & PAGE_MAPPING_FLAGS) + if ((unsigned lo...
2016 May 20
0
[PATCH v6 02/12] mm: migrate: support non-lru movable page migration
...ge_alloc.c +++ b/mm/page_alloc.c @@ -1008,7 +1008,7 @@ static __always_inline bool free_pages_prepare(struct page *page, (page + i)->flags &= ~PAGE_FLAGS_CHECK_AT_PREP; } } - if (PageAnonHead(page)) + if (PageMappingFlag(page)) page->mapping = NULL; if (check_free) bad += free_pages_check(page); diff --git a/mm/util.c b/mm/util.c index 224d36e43a94..a04ccff7cc17 100644 --- a/mm/util.c +++ b/mm/util.c @@ -399,10 +399,12 @@ struct address_space *page_mapping(struct page *page) } mapping = page->mapping; - if ((unsigned long)mapping & PAGE_MAPPING_FLAGS) + if ((unsigned lo...
2016 May 31
0
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...e_alloc.c +++ b/mm/page_alloc.c @@ -1014,7 +1014,7 @@ static __always_inline bool free_pages_prepare(struct page *page, (page + i)->flags &= ~PAGE_FLAGS_CHECK_AT_PREP; } } - if (PageAnonHead(page)) + if (PageMappingFlags(page)) page->mapping = NULL; if (check_free) bad += free_pages_check(page); diff --git a/mm/util.c b/mm/util.c index 917e0e3d0f8e..b756ee36f7f0 100644 --- a/mm/util.c +++ b/mm/util.c @@ -399,10 +399,12 @@ struct address_space *page_mapping(struct page *page) } mapping = page->mapping; - if ((unsigned long)mapping & PAGE_MAPPING_FLAGS) + if ((unsigned lo...
2016 May 30
5
PATCH v6v2 02/12] mm: migrate: support non-lru movable page migration
...e_alloc.c +++ b/mm/page_alloc.c @@ -1014,7 +1014,7 @@ static __always_inline bool free_pages_prepare(struct page *page, (page + i)->flags &= ~PAGE_FLAGS_CHECK_AT_PREP; } } - if (PageAnonHead(page)) + if (PageMappingFlags(page)) page->mapping = NULL; if (check_free) bad += free_pages_check(page); diff --git a/mm/util.c b/mm/util.c index 917e0e3d0f8e..b756ee36f7f0 100644 --- a/mm/util.c +++ b/mm/util.c @@ -399,10 +399,12 @@ struct address_space *page_mapping(struct page *page) } mapping = page->mapping; - if ((unsigned long)mapping & PAGE_MAPPING_FLAGS) + if ((unsigned lo...
2016 May 30
5
PATCH v6v2 02/12] mm: migrate: support non-lru movable page migration
...e_alloc.c +++ b/mm/page_alloc.c @@ -1014,7 +1014,7 @@ static __always_inline bool free_pages_prepare(struct page *page, (page + i)->flags &= ~PAGE_FLAGS_CHECK_AT_PREP; } } - if (PageAnonHead(page)) + if (PageMappingFlags(page)) page->mapping = NULL; if (check_free) bad += free_pages_check(page); diff --git a/mm/util.c b/mm/util.c index 917e0e3d0f8e..b756ee36f7f0 100644 --- a/mm/util.c +++ b/mm/util.c @@ -399,10 +399,12 @@ struct address_space *page_mapping(struct page *page) } mapping = page->mapping; - if ((unsigned long)mapping & PAGE_MAPPING_FLAGS) + if ((unsigned lo...
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
2007 Jun 28
6
[patch 0/6] resend: guest page hinting version 5.
Greetings, after Carsten pitched CMM2 on the kvm mini summit here is a repost of version 5 of the guest page hinting patches. The code is still the same but has been adapted to the latest git level. -- blue skies, Martin. "Reality continues to ruin my life." - Calvin.
2007 Jun 28
6
[patch 0/6] resend: guest page hinting version 5.
Greetings, after Carsten pitched CMM2 on the kvm mini summit here is a repost of version 5 of the guest page hinting patches. The code is still the same but has been adapted to the latest git level. -- blue skies, Martin. "Reality continues to ruin my life." - Calvin.
2007 May 11
6
[patch 0/6] [rfc] guest page hinting version 5
After way to many months here is the fifth version of the guest page hinting patches. Compared to version four a few improvements have been added: - Avoid page_host_discards() calls outside of page-states.h - The discard list is now implemented via the page_free_discarded hook and architecture specific code. - PG_state_change page flag has been replaced with architecture specficic
2007 May 11
6
[patch 0/6] [rfc] guest page hinting version 5
After way to many months here is the fifth version of the guest page hinting patches. Compared to version four a few improvements have been added: - Avoid page_host_discards() calls outside of page-states.h - The discard list is now implemented via the page_free_discarded hook and architecture specific code. - PG_state_change page flag has been replaced with architecture specficic
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