lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 23 Oct 2013 21:39:46 +0530 From: "Srivatsa S. Bhat" <srivatsa.bhat@...ux.vnet.ibm.com> To: Johannes Weiner <hannes@...xchg.org> CC: akpm@...ux-foundation.org, mgorman@...e.de, dave@...1.net, tony.luck@...el.com, matthew.garrett@...ula.com, riel@...hat.com, arjan@...ux.intel.com, srinivas.pandruvada@...ux.intel.com, willy@...ux.intel.com, kamezawa.hiroyu@...fujitsu.com, lenb@...nel.org, rjw@...k.pl, gargankita@...il.com, paulmck@...ux.vnet.ibm.com, svaidy@...ux.vnet.ibm.com, andi@...stfloor.org, isimatu.yasuaki@...fujitsu.com, santosh.shilimkar@...com, kosaki.motohiro@...il.com, linux-pm@...r.kernel.org, linux-mm@...ck.org, linux-kernel@...r.kernel.org, mark.gross@...el.com Subject: Re: [RFC PATCH v4 06/40] mm: Demarcate and maintain pageblocks in region-order in the zones' freelists On 10/23/2013 03:47 PM, Johannes Weiner wrote: > On Thu, Sep 26, 2013 at 04:44:56AM +0530, Srivatsa S. Bhat wrote: >> --- a/mm/page_alloc.c >> +++ b/mm/page_alloc.c >> @@ -517,6 +517,111 @@ static inline int page_is_buddy(struct page *page, struct page *buddy, >> return 0; >> } >> >> +static void add_to_freelist(struct page *page, struct free_list *free_list) >> +{ >> + struct list_head *prev_region_list, *lru; >> + struct mem_region_list *region; >> + int region_id, i; >> + >> + lru = &page->lru; >> + region_id = page_zone_region_id(page); >> + >> + region = &free_list->mr_list[region_id]; >> + region->nr_free++; >> + >> + if (region->page_block) { >> + list_add_tail(lru, region->page_block); >> + return; >> + } >> + >> +#ifdef CONFIG_DEBUG_PAGEALLOC >> + WARN(region->nr_free != 1, "%s: nr_free is not unity\n", __func__); >> +#endif >> + >> + if (!list_empty(&free_list->list)) { >> + for (i = region_id - 1; i >= 0; i--) { >> + if (free_list->mr_list[i].page_block) { >> + prev_region_list = >> + free_list->mr_list[i].page_block; >> + goto out; >> + } >> + } >> + } >> + >> + /* This is the first region, so add to the head of the list */ >> + prev_region_list = &free_list->list; >> + >> +out: >> + list_add(lru, prev_region_list); >> + >> + /* Save pointer to page block of this region */ >> + region->page_block = lru; > > "Pageblock" has a different meaning in the allocator already. > > The things you string up here are just called pages, regardless of > which order they are in and how many pages they can be split into. > Ah, yes. I'll fix that. Regards, Srivatsa S. Bhat -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists