On 8/20/07, Mulyadi Santosa <mulyadi.santosa@xxxxxxxxx> wrote:
CMIIW,
But in free_pages we have BUG_ON(!virt_addr_valid((void *)addr)); , so when we kunmap we will loose virt address, So I think we should call __free_pages directly after kunmap.
Or without doing kunmap , just do free_pages() ?
Thanks.
Hi...
>
> Why we cannot kmalloc(GFP_HIGHUSER) ?
> Because it returns virtual address and to get virtual address of pages from
> high memory we need to kmap ?
>
AFAIK your opinion is correct.
> Then how to allocate pages from highmem alloc_pages, and then kmap?
>
>
correct.
> How to free pages from highmem ? kunmap and then ?
>
free them using free_pages()
CMIIW,
But in free_pages we have BUG_ON(!virt_addr_valid((void *)addr)); , so when we kunmap we will loose virt address, So I think we should call __free_pages directly after kunmap.
Or without doing kunmap , just do free_pages() ?
Thanks.