Messages in this thread | | | Date | Fri, 25 Jun 2004 01:15:23 +0200 | From | Andrea Arcangeli <> | Subject | Re: [discuss] Re: 32-bit dma allocations on 64-bit platforms |
| |
On Thu, Jun 24, 2004 at 03:36:12PM -0700, Andrew Morton wrote: > Andrea Arcangeli <andrea@suse.de> wrote: > > > > On Thu, Jun 24, 2004 at 02:54:41PM -0700, Andrew Morton wrote: > > > First thing to do is to identify some workload which needs the patch. > > > > that's quite trivial, boot a 2G box, malloc(1G), bzero(1GB), swapoff -a, > > then the machine will lockup. > > Are those numbers correct? We won't touch swap at all with that test?
they are correct if the page allocator allocates memory starting from address 0 physical up to 2G in contigous order (sometime it allocates memory backwards instead, in such case you need to load say 900M in pagecache and then malloc 1.2G, worked fine for me in 2.4 before I fixed it at least).
the malloc(1G) will pin the whole lowmem, then the box will be dead. oom killer won't kill the task, but the syscalls will all hang (they don't even return -ENOMEM because you loop forever, 2.4 at least was returning -ENOMEM). workaround is to add swap and to slowdown like a crawl relocating ram at disk-seeking-speed and overshrinking vfs caches, but nobody will notice something is going wrong then. Only swapoff -a will show that something is not going well. - 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/
| |