Re: [bigmem-patch] 4GB with Linux on IA32

Andrea Arcangeli (andrea@suse.de)
Thu, 26 Aug 1999 18:27:51 +0200 (CEST)


On Tue, 17 Aug 1999, Alan Cox wrote:

>of bus addressses of vmalloc pages. I don't think the 4Gig patch breaks it
>at all. In the ideal world virt_to_bus() would work on vmalloc pages. It

Yes, the bigmem patch doesn't break bttv.

bttv alloc the DMA-pool via vmalloc and with the bigmem patch applyed
vmalloc prefere the bigmem pages so the DMA-pool will be always alloced
in bigmem memory.

But using vmalloc all bigmem pages will have a valid virt-to-phys
translation. (Only GFP may return a pointer without a valid virt-to-phys
translation if __GFP_BIGMEM is been specifyed in the gfp_mask.)

So the kernel can also copy-from/to-user the DMA pool using the vmalloc
addresses since it's a _valid_ address.

Via mmap the vmalloced pages will be remapped to userspace memory and
that's fine as well.

Andrea

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