Last time I was reading about fanotify it still seemed like their api is not finalized yet. Maybe that changed with 2.6.36. Also, I think it has slightly different use scenarios because it gives you an open file descriptor for the file that triggered the event. Maybe thats not always what people want. So, having modules for both would be best I guess.
I did not really get anywhere with the abstract file notification module since the last discussion here. But that should ideally build on top of some seperate module anyhow. So maybe it would be ok to put some System.Inotify into 7.9, even though I will wait for a descision at Roxen to see if it makes sense to put in mine.
Ok.
In your performance comparisons, did you hash only the prefix also for CRC and the perfect hash? Which CRC32 implementation have you been using? Was this the SSE4.2 stuff?
As I sketched at the conference, I hash an equal length prefix and suffix in the CRC case. The dynamic hash length adjustment arrives at ~ the same amount of data to hash for both hash functions.
The hypothetical perfect hash function hashes the same number (fractional!) of strings to every bucket for every hash table size, and does thus not exist. I only use it to get a measure of how far from optimum the respective hash function is.
I used the CRC32-IEEE polynomial (0x04c11db7). I haven't performed any execution speed comparisons, so the exact implementation of the CRC32 hash function is irrelevant.