summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorDavid Miller <davem@davemloft.net>2009-09-21 12:22:34 -0700
committerIngo Molnar <mingo@elte.hu>2009-10-08 17:02:31 +0200
commit2dca6999eed58d44b67e9de7d6ec230f6250553d (patch)
tree6b6f1e2c07291fba968e6a72c095ca6526be88d5 /Documentation
parent906010b2134e14a2e377decbadd357b3d0ab9c6a (diff)
downloadlinux-3.10-2dca6999eed58d44b67e9de7d6ec230f6250553d.tar.gz
linux-3.10-2dca6999eed58d44b67e9de7d6ec230f6250553d.tar.bz2
linux-3.10-2dca6999eed58d44b67e9de7d6ec230f6250553d.zip
mm, perf_event: Make vmalloc_user() align base kernel virtual address to SHMLBA
When a vmalloc'd area is mmap'd into userspace, some kind of co-ordination is necessary for this to work on platforms with cpu D-caches which can have aliases. Otherwise kernel side writes won't be seen properly in userspace and vice versa. If the kernel side mapping and the user side one have the same alignment, modulo SHMLBA, this can work as long as VM_SHARED is shared of VMA and for all current users this is true. VM_SHARED will force SHMLBA alignment of the user side mmap on platforms with D-cache aliasing matters. The bulk of this patch is just making it so that a specific alignment can be passed down into __get_vm_area_node(). All existing callers pass in '1' which preserves existing behavior. vmalloc_user() gives SHMLBA for the alignment. As a side effect this should get the video media drivers and other vmalloc_user() users into more working shape on such systems. Signed-off-by: David S. Miller <davem@davemloft.net> Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Jens Axboe <jens.axboe@oracle.com> Cc: Nick Piggin <nickpiggin@yahoo.com.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> LKML-Reference: <200909211922.n8LJMYjw029425@imap1.linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'Documentation')
0 files changed, 0 insertions, 0 deletions