[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 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.
(I meant to write "invalidate instruction cache" in my original email,
sorry if that confused someone)
Main Index |
Thread Index |