Re: [Lhms-devel] Re: [RFC] buddy allocator without bitmap [3/4]
From: Hiroyuki KAMEZAWA <hidden>
Date: 2004-08-27 00:05:58
Also in:
lkml
Dave Hansen wrote:
quoted
+ if (zone->nr_mem_map > 1) { + /* + * there may be hole in zone's memmap && + * hole is not aligned in this order. + * currently, I think CONFIG_VIRTUAL_MEM_MAP + * case is only case to reach here. + * Is there any other case ? + */ + /* + * Is there better call than pfn_valid ? + */ + if (!pfn_valid(zone->zone_start_pfn + + (page_idx ^ (1 << order)))) + break; + }Nice try. How about putting the ia64 code in a macro or header function that you can #ifdef out on all the other architectures? We used to be able to see that entire while loop on one screen. That's a bit harder now.
Currently, I think zone->nr_mem_map itself is very vague. I'm now looking for another way to remove this part entirely. I think mem_section approarch may be helpful to remove this part, but to implement full feature of CONFIG_NONLINEAR, I'll need lots of different kind of patches. (If mem_map is guaranteed to be contiguous in one mem_section) 1. Now, I think some small parts, some essence of mem_section which makes pfn_valid() faster may be good. And another way, 2. A method which enables page -> page's max_order calculation may be good and consistent way in this no-bitmap approach. But this problem would be my week-end homework :). --Kame -- --the clue is these footmarks leading to the door.-- KAMEZAWA Hiroyuki [off-list ref] -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>