Re: [Lhms-devel] Re: [RFC] buddy allocator without bitmap [3/4]

From: Hiroyuki KAMEZAWA
Date: Thu Aug 26 2004 - 19:19:43 EST


Dave Hansen wrote:

>>+ 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 <kamezawa.hiroyu@xxxxxxxxxxxxxx>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/