Re: Eureka! (was Re: UTF-8 and case-insensitivity)

Jamie Lokier
2004-02-20T00:01:07Z

Linus Torvalds wrote:
> The hardest part of caching is not filling the cache - it's knowing when
> to release it. In other words, forget the filling part, and think about
> the replacement policy (balacing between the page cache, the directory
> cache, and regular pages). The kernel already has that.

It's worth noting that Samba already has a dcache in userspace: tridge
mentioned that positive cache-insensitive lookups are cached, so the
replacement policy is already skewed by that.

Will your proposal eliminate Samba's positive cache as well?

> Besides, I really think that we can do this with basically just a few
> lines of code in the kernel (apart from the actual case comparison, which
> I'm not even going to worry about - that's totally independent of the
> cache handling itself, and I don't care about how to write a
> "windows_equivalent_strncasecmp()".

What I like about my idea is that no windows_equivalent_strncasecmp()
needs to go into the kernel. I.e. no need for a Samba-specific module.

The other thing I like is that DN_IGNORE_SELF would be useful for
other applications too.

What I like about your idea is that it'll be a bit faster, the dcache
replacement policy will be nicer, and if there are atomicity
conditions we haven't thought of, it'll be easier to handle them.

-- Jamie