From: "Brian Pane" <[EMAIL PROTECTED]>
Sent: Monday, September 03, 2001 8:59 PM


> William A. Rowe, Jr. wrote:
> [...]
> 
> >About your patch - if it goes in this direction (I simply skimmed it so far)
> >then I'd be happy to apply, but it looks like we are trying to accomplish two
> >different things.  Since the broader 'dynamic cache' schema is where we want
> >to end up (IMHO) and will invalidate the usefulness of an additional 'static
> >cache' (preconstructed at boot time), I'd like to pursue one chunk of code
> >that everyone can focus energy at, rather than two sets of code with their own
> >debugging cycles.  Of course, I could be entirely off base.
> >
> >What are your thoughts on these two different strategies?
> >
> I've definitely focused just on the static preconstruction
> approach, and I've specifically avoided the dynamic caching
> approach.  Here's my rationale:
> 
>   1. I'm not convinced that the dynamic caching technique can
>      be implemented without creating a scalability problem (due
>      to the need for mutexes around the cache).

Agreed [to the mutex] - dunno if we can effect some scalability in any case by
not locking the table for the duration of the update, but just for the invalidate
- validate toggle.  I suppose we would have to force another thread to lock while
we finish constructing a given node on the cache, thought.

>   2. From a return-on-investment perspective, the static cache
>      looks a lot more appealing than the dynamic cache.  I.e., I
>      anticipate that a static cache will offer 80% of the performance
>      benefit of a dynamic one for 20% of the development cost.  (In
>      particular, a static cache is a *lot* cheaper to test, because
>      it's not vulnerable to the race conditions that make a dynamic
>      cache tricky.)

Agreed that this is simple to validate.  I'll take some time to look at it, but
I (imagine) that the tree walking *could* become a nightmare.  I tend to think
in terms of caching all cited <Directory> blocks, Alias targets, etc, which the
user has identified with Override None.

Could we implement your cache on an explicit - rather than tree-walking basis?
I would think an info level warning that a given directory/alias could not be
cached (due to AllowOverrides) would help the administrator troubleshoot their
performance questions.

Sound like a plan?

Bill

Reply via email to