tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: cache invalidation in modload
On Sun, Jan 04, 2009 at 09:19:10PM +0200, Antti Kantee wrote:
> On Sun Jan 04 2009 at 18:27:11 +0000, David Laight wrote:
> > On Thu, Jan 01, 2009 at 08:35:41PM +0200, Antti Kantee wrote:
> > > Hi,
> > >
> > > Why is cache invalidation, i.e. kobj_machdep(), required after loading
> > > a module? The module loading code doesn't appear to do anything
> > > magically mystically mythical which would require a flush. The only
> > > reason I could even begin to imagine was to flush the instruction cache.
> > > But at least on x86 this is not required according to my interpretation
> > > of the Intel manuals.
> >
> > The intent is probably to flush the data cache - so that when code is
> > read the newly loaded data is found.
> > I-cache loads probably don't snoop the D-cache.
>
> That's exactly what is not needed according to how I read the Intel
> manuals. See the beginning of section 10.6 ("Self-Modifying Code")
> of Volume 3A: System Programming Guide.
Well, maybe on that CPU family. Some others are different. For sure
68060 and, I think, all of m68k.
-is
Home |
Main Index |
Thread Index |
Old Index