Messages in this thread |  | | Date | Fri, 25 May 2001 17:34:40 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [with-PATCH-really] highmem deadlock removal, balancing & cleanup |
| |
On Fri, 25 May 2001, Ben LaHaise wrote: > > Highmem systems currently manage to hang themselves quite completely upon > running out of memory in the normal zone. One of the failure modes is > looping in __alloc_pages from get_unused_buffer_head to map a dirty page. > Another results in looping on allocation of a bounce page for writing a > dirty highmem page back to disk.
That's not the part of the patch I object to - fixing that is fine.
What I object to it that it special-cases the zone names, even though that doesn't necessarily make any sense at all.
What about architectures that have other zones? THAT is the kind of fundmanental design mistake that special-casing DMA and NORMAL is horrible for.
alloc_pages() doesn't have that kind of problem. To alloc_pages(), GFP_BUFFER is not "oh, DMA or NORMAL". There, it is simply "oh, use the zonelist pointed to by GFP_BUFFER". No special casing, no stupid #ifdef CONFIG_HIGHMEM.
THAT is what I object to.
Linus
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |