On Thu, 2009-12-24 at 05:39 -0700, Matthew Wilcox wrote: > On Thu, Dec 24, 2009 at 10:08:53AM +0000, Matt Fleming wrote: > > On Wed, Dec 23, 2009 at 03:22:21PM -0600, James Bottomley wrote: > > > + > > > + void flush_kernel_vmap_range(void *vaddr, int size) > > > + flushes the kernel cache for a given virtual address range in > > > + the vmap area. This API makes sure that and data the kernel > > > > ^^^ code and data? > > I'd guess it's a typo for 'any data'. > > > > + void invalidate_kernel_vmap_range(void *vaddr, int size) > > > + invalidates the kernel cache for a given virtual address range > > > + in the vmap area. This API is designed to make sure that while > > > + I/O went on to an address range in the vmap area, the processor > > > + didn't speculate cache reads and thus make the cache over the > > > + virtual address stale. > > > + > > > > Could this sentence be reworked a little? I find the "over the virtual > > address" part a little difficult to parse. > > How about: > > invalidates the processor cache for a given virtual address range > in the vmap area. This API addresses the problem that the processor > may have performed speculative reads into its cache of the vmapped > area while I/O was occurring to the underlying physical pages. So better, I think is invalidates the cache for a given virtual address range in the vmap area which prevents the processor from making the cache stale by speculatively reading data while the I/O was occurring to the physical pages. James -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html