Hello, Here is a new cut of my O_DIRECT locking rework. It has a much lower cpu cost than the last set, and simple benchmarks no longer show a regression here in system time. But, the complexity for inserting placeholder pages has gone up. I've also changed the way I test for a place holder page (from mm/filemap.c): static struct address_space placeholder_address_space; #define PagePlaceHolder(page) ((page)->mapping == &placeholder_address_space) This is more stable than the last one but I'm just starting to run race and load testing on it. -chris - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html