Thread (138 messages) flat view 138 messages, 8 authors, 2015-05-27

Re: [PATCH 4/8] fbdev: ssd1307fb: Use vmalloc to allocate video memory.

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2015-03-20 12:12:26
Also in: lkml

On Fri, Mar 20, 2015 at 12:37 PM, Tomi Valkeinen [off-list ref] wrote:
On 15/03/15 00:02, Geert Uytterhoeven wrote:
quoted
On Fri, Mar 13, 2015 at 10:31 PM, Thomas Niederprüm
[off-list ref] wrote:
quoted
Am Tue, 10 Mar 2015 13:28:25 +0200
schrieb Tomi Valkeinen [off-list ref]:
quoted
Also, isn't doing __pa() for the memory returned by vmalloc plain
wrong?
quoted
What was the crash about when using kmalloc? It would be good to fix
defio, as I don't see why it should not work with kmalloced memory.
The main challenge here is that the memory handed to userspace upon
mmap call needs to be page aligned. The memory returned by kmalloc has
no such alignment, but the pointer presented to the userspace program
gets aligned to next page boundary. It's not clear to me whether there
is an easy way to obtain page aligned kmalloc memory. Memory
allocated by vmalloc on the other hand is always aligned to page
boundaries. This is why I chose to go for vmalloc.
__get_free_pages()?
I'm not that experienced with mem management, so I have to ask...
__get_free_pages() probably works fine, but isn't vmalloc better here?

__get_free_pages() will give you possibly a lot more memory than you
need. And the memory is contiguous, so it could be difficult to allocate
a larger memory area. The driver doesn't need contiguous memory (except
in the virtual sense).
I was responding to the question about obtaining page aligned kmalloc
memory.
If it doesn't need to be physically contiguous, vmalloc() is fine.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help