Messages in this thread | | | Date | Wed, 20 Dec 2000 14:28:58 +0100 | From | Andrea Arcangeli <> | Subject | Re: Linux 2.2.19pre2 |
| |
On Sat, Dec 16, 2000 at 07:11:47PM +0000, Alan Cox wrote: > o E820 memory detect backport from 2.4 (Michael Chen)
It's broken, it will crash machines:
for (i = 0; i < e820.nr_map; i++) { unsigned long start, end; /* RAM? */ if (e820.map[i].type != E820_RAM) continue; start = PFN_UP(e820.map[i].addr); end = PFN_DOWN(e820.map[i].addr + e820.map[i].size); if (start >= end) continue; if (end > max_pfn) max_pfn = end; } memory_end = (max_pfn << PAGE_SHIFT);
this will threat non-RAM holes as RAM. On 2.4.x we do a different things, that is we collect the max_pfn but then we don't assume that there are no holes between 1M and max_pfn ;), we instead fill the bootmem allocator _only_ with E820_RAM segments.
I was in the process of fixing this (I also just backported the thinkpad %edx clobber fix), but if somebody is going to work on this please let me know so we stay in sync.
> o wake_one semantics for accept() (Andrew Morton)
I dislike the implementation. I stick with my faster and nicer implementation that was just included in aa kernels for some time (2.2.18aa2 included it for example). Andrew, I guess you didn't noticed I just implemented the wakeone for accept. (I just ported it on top of 2.2.19pre2 after backing out the wakeone in pre2)
Andrea - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
| |