Re: kernel.org mirroring (Re: [GIT PULL] MMC update)
From: "H. Peter Anvin" <hpa@zytor.com>
Date: 2016-08-11 19:18:00
Linus Torvalds wrote:
On Fri, 8 Dec 2006, H. Peter Anvin wrote:quoted
This goes back to the "gitweb needs native caching" again.It should be fairly easy to add a caching layer, but I wouldn't do it inside gitweb itself - it gets too mixed up. It would be better to have it as a separate front-end, that just calls gitweb for anything it doesn't find in the cache.
If you want to do side effect generation of cache contents, it might not be possible to do it that way. At the very least gitweb needs to be aware of how to explicitly enter things into the cache. All of this isn't really all that hard; I have implemented all that stuff for diffview, for example (when generating a single diff hunk, you naturally end up producing all of them, so you want to have them preemptively cached.)
I could write a simple C caching thing that just hashes the CGI arguments and uses a hash to create a cache (and proper lock-files etc to serialize access to a particular cache object while it's being created) fairly easily, but I'm pretty sure people would much prefer a mod_perl thing just to avoid the fork/exec overhead with Apache (I think mod_perl allows Apache to run perl scripts without it), and that means I'm not the right person any more.
True about mod_perl. Haven't messed with that myself, either. fork/exec really is very cheap on Linux, so it's not a huge deal.
Not that I'm the right person anyway, since I don't have a web server set up on my machine to even test with ;)
Heh :) -hpa