On Sun, May 10, 2015 at 01:34:29PM +0300, Vladimir Davydov wrote: > On Sun, May 10, 2015 at 12:12:38AM +0900, Minchan Kim wrote: > > Yeb, I might be paranoid but my point is it might work now on most of > > arch but it seem to be buggy/fragile/subtle because we couldn't prove > > all arch/compiler don't make any trouble. So, intead of adding more > > logics based on fragile, please use right lock model. If lock becomes > > big trouble by overhead, let's fix it(for instance, use WRITE_ONCE for > > update-side and READ_ONCE for read-side) if I don't miss something. > > IMO, locking would be an overkill. READ_ONCE is OK, because it has no > performance implications, but I would prefer to be convinced that it is > 100% necessary before adding it just in case. Finally, I'm convinced we do need synchronization here :-) Sorry for being so stubborn and thank you for your patience. After examining page_referenced() with the knowledge that the compiler may be completely unreliable and split page->mapping read/writes as it wants, I've drawn the conclusion that it is safer to take page_zone->lru_lock for checking if the page is on an LRU list, just as you proposed initially, because otherwise we need to insert those READ/WRITE_ONCE in every nook and cranny, which would look confusing provided we only needed them for this idle page tracking feature, which might even be not compiled in. I'll fix it and resend. Thanks, Vladimir -- 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/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>