linux/include
James Bottomley a6ca1b99ed [PATCH] update to the kernel kmap/kunmap API
Give non-highmem architectures access to the kmap API for the purposes of
overriding (this is what the attached patch does).

The proposal is that we should now require all architectures with coherence
issues to manage data coherence via the kmap/kunmap API.  Thus driver
writers never have to write code like

    kmap(page)
    modify data in page
    flush_kernel_dcache_page(page)
    kunmap(page)

instead, kmap/kunmap will manage the coherence and driver (and filesystem)
writers don't need to worry about how to flush between kmap and kunmap.

For most architectures, the page only needs to be flushed if it was
actually written to *and* there are user mappings of it, so the best
implementation looks to be: clear the page dirty pte bit in the kernel page
tables on kmap and on kunmap, check page->mappings for user maps, and then
the dirty bit, and only flush if it both has user mappings and is dirty.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-26 08:48:44 -07:00
..
acpi Pull acpi_os_allocate into test branch 2006-07-10 02:39:47 -04:00
asm-alpha [libata] No need for all those arch libata-portmap.h headers 2006-09-25 15:33:09 -04:00
asm-arm Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-09-24 22:05:59 +01:00
asm-arm26 Remove ARM26 header export. 2006-09-21 08:54:44 +01:00
asm-cris Clean up exported headers on CRIS 2006-09-21 09:33:55 +01:00
asm-frv [libata] No need for all those arch libata-portmap.h headers 2006-09-25 15:33:09 -04:00
asm-generic [PATCH] trigger a syntax error if percpu macros are incorrectly used 2006-09-26 08:48:44 -07:00
asm-h8300 Fix H8300 exported headers. 2006-09-21 08:51:43 +01:00
asm-i386 [libata] No need for all those arch libata-portmap.h headers 2006-09-25 15:33:09 -04:00
asm-ia64 [PATCH] cpu to node relationship fixup: map cpu to node 2006-09-25 17:38:36 -07:00
asm-m32r Fix 'make headers_check' on m32r 2006-09-21 08:41:35 +01:00
asm-m68k [PATCH] Fix 'make headers_check' on ia64 2006-09-19 07:59:59 -07:00
asm-m68knommu Fix m68knommu exported headers 2006-09-21 08:50:36 +01:00
asm-mips [PATCH] headers_check: fix userspace build of asm-mips/page.h 2006-09-13 07:32:16 -07:00
asm-parisc [PATCH] headers_check: Clean up asm-parisc/page.h for user headers 2006-09-19 07:59:59 -07:00
asm-powerpc [libata] No need for all those arch libata-portmap.h headers 2006-09-25 15:33:09 -04:00
asm-ppc [PATCH] #elif that should've been #elif defined 2006-09-23 11:34:43 -07:00
asm-s390 [PATCH] trigger a syntax error if percpu macros are incorrectly used 2006-09-26 08:48:44 -07:00
asm-sh Fix 'make headers_check' on sh 2006-09-21 08:36:50 +01:00
asm-sh64 Fix 'make headers_check' on sh64 2006-09-21 08:37:10 +01:00
asm-sparc [libata] No need for all those arch libata-portmap.h headers 2006-09-25 15:33:09 -04:00
asm-sparc64 [libata] No need for all those arch libata-portmap.h headers 2006-09-25 15:33:09 -04:00
asm-um Remove UML header export 2006-09-21 08:55:28 +01:00
asm-v850 Fix v850 exported headers 2006-09-21 09:05:25 +01:00
asm-x86_64 [PATCH] trigger a syntax error if percpu macros are incorrectly used 2006-09-26 08:48:44 -07:00
asm-xtensa [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
crypto [CRYPTO] digest: Added user API for new hash type 2006-09-21 11:46:17 +10:00
keys
linux [PATCH] update to the kernel kmap/kunmap API 2006-09-26 08:48:44 -07:00
math-emu
media V4L/DVB (4605): Fixes an issue with V4L1 and make headers-install 2006-09-10 13:45:55 -03:00
mtd Merge git://git.infradead.org/~dwmw2/hdroneline 2006-09-22 12:56:22 -07:00
net [NetLabel]: rework the Netlink attribute handling (part 1) 2006-09-25 15:56:09 -07:00
pcmcia
rdma IB/sa: fix ib_sa_selector names 2006-09-22 15:22:55 -07:00
rxrpc
scsi [PATCH] SCSI gfp_t annotations 2006-09-24 20:07:49 -07:00
sound [ALSA] ak4xxx - Remove bogus IPGA controls 2006-09-23 10:46:55 +02:00
video [HEADERS] One line per header in Kbuild files to reduce conflicts 2006-09-19 12:43:58 +01:00
Kbuild [HEADERS] One line per header in Kbuild files to reduce conflicts 2006-09-19 12:43:58 +01:00