Thread (5 messages) 5 messages, 2 authors, 2004-08-27

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>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help