Not only linux kernel, every aspect of life and in fact the whole life is to discover more & more & more and it will never end.....!!!! :)
On Mon, Jul 20, 2009 at 5:29 AM, Peter Teoh <htmldevelo...@gmail.com> wrote: > wow.....Linux Kernel is exciting....lots of things to read....and > re-read....and re-re-read.....some of these are so subtle....:-). > > On Sun, Jul 19, 2009 at 11:43 PM, Pei Lin<telent...@gmail.com> wrote: > > Documentation about memory-barriers.txt gives a very good explanation. > > > > http://lxr.linux.no/linux+v2.6.30/Documentation/memory-barriers.txt > > > > thanks > > > > BRs. > > > > Lin > > > > 2009/7/19 Peter Teoh <htmldevelo...@gmail.com>: > >> thank you for the reference....and sharing... > >> > >> On Sun, Jul 19, 2009 at 9:52 PM, Pei Lin<telent...@gmail.com> wrote: > >>> on X86 architecture u can refer to " > >>> IntelĀ® 64 and IA-32 Architectures Software Developer's Manual > >>> Volume 3A: System Programming Guide" > >>> chapter 11 memory cache control 11.5.5 Cache Management instructions. > >>> CLFLUSH > >>> > >>> BRs, > >>> > >>> Lin > >>> > >> > >> perhaps i can share with you: > >> > >> From arch/x86/mm/pageattr.c I found this: > >> > >> 119 /* > >> 120 * Flushing functions > >> 121 */ > >> 122 > >> 123 /** > >> 124 * clflush_cache_range - flush a cache range with clflush > >> 125 * @addr: virtual start address > >> 126 * @size: number of bytes to flush > >> 127 * > >> 128 * clflush is an unordered instruction which needs fencing with > mfence > >> 129 * to avoid ordering issues. > >> 130 */ > >> 131 void clflush_cache_range(void *vaddr, unsigned int size) > >> 132 { > >> 133 void *vend = vaddr + size - 1; > >> 134 > >> 135 mb(); > >> 136 > >> 137 for (; vaddr < vend; vaddr += > boot_cpu_data.x86_clflush_size) > >> 138 clflush(vaddr); > >> 139 /* > >> 140 * Flush any possible final partial cacheline: > >> 141 */ > >> 142 clflush(vend); > >> > >> So mfence is needed before clflush??? first time I read this part of > >> the code too!!!! > >> > >> > >> -- > >> Regards, > >> Peter Teoh > >> > > > > > > -- > Regards, > Peter Teoh > > -- > To unsubscribe from this list: send an email with > "unsubscribe kernelnewbies" to ecar...@nl.linux.org > Please read the FAQ at http://kernelnewbies.org/FAQ > >