On Wed, May 2, 2012 at 3:23 PM, Jan Kara <jack@xxxxxxx> wrote: > On Wed 02-05-12 15:14:33, KOSAKI Motohiro wrote: >> Hello, >> >> >> I see what you mean. >> >> >> >> I'm not sure, though. For most apps it's bad practice I think. If you get into >> >> realm of sophisticated, performance critical IO/storage managers, it would >> >> not surprise me if such concurrent buffer modifications could be allowed. >> >> We allow exactly such a thing in our pagecache layer. Although probably >> >> those would be using shared mmaps for their buffer cache. >> >> >> >> I think it is safest to make a default policy of asking for IOs against private >> >> cow-able mappings to be quiesced before fork, so there are no surprises >> >> or reliance on COW details in the mm. Do you think? >> > Yes, I agree that (and MADV_DONTFORK) is probably the best thing to have >> > in documentation. Otherwise it's a bit too hairy... >> >> I neglected this issue for years because Linus asked who need this and >> I couldn't >> find real world usecase. >> >> Ah, no, not exactly correct. Fujitsu proprietary database had such >> usecase. But they quickly fixed it. Then I couldn't find alternative usecase. > One of our customers hit this bug recently which is why I started to look > at this. But they also modified their application not to hit the problem. > >> I'm not sure why you say "hairy". Do you mean you have any use case of this? > I meant that if we should describe conditions like "if you have page > aligned buffer and you don't write to it while the IO is running, the > problem also won't occur", then it's already too detailed and might > easily change in future kernels... ok, thanks. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href