[Ocfs2-devel] [PATCH V2 2/7] Cleancache (was Transcendent Memory): core files

Dan Magenheimer dan.magenheimer at oracle.com
Wed Jun 2 19:48:24 PDT 2010


> > It is intended that there be different flavours but only
> > one can be used in any running kernel.  A driver file/module
> > claims the cleancache_ops pointer (and should check to ensure
> > it is not already claimed).  And if nobody claims cleancache_ops,
> > the hooks should be as non-intrusive as possible.
> >
> > Also note that the operations occur on the order of the number
> > of I/O's, so definitely a lot, but "zillion" may be a bit high. :-)
> >
> > If you think this is a showstoppper, it could be changed
> > to be bound only at compile-time, but then (I think) the claimer
> > could never be a dynamically-loadable module.
> 
> Andrew is suggesting that rather than making cleancache_ops a pointer
> to
> a structure, just make it a structure, so that calling a function is a
> matter of cleancache_ops.func rather than cleancache_ops->func, thereby
> avoiding a pointer dereference.

OK, I see.  So the claimer of the cleancache_ops structure
just fills in all of the func fields individually?  That
would work too.  IIUC it wouldn't save any instructions
when cleancache_ops is unclaimed because it is still necessary
to check a func pointer against NULL, but would save an extra
pointer indirection and possible cache miss for every use
of any func when it is claimed.

I'll change that for next rev.

Thanks and sorry I misunderstood!
Dan



More information about the Ocfs2-devel mailing list