On Wed, Apr 01, 2015 at 05:08:53PM -0700, Hugh Dickins wrote: > On Thu, 2 Apr 2015, Kirill A. Shutemov wrote: > > On Wed, Apr 01, 2015 at 04:21:30PM -0700, Hugh Dickins wrote: > > > On Thu, 2 Apr 2015, Kirill A. Shutemov wrote: > > > > > > > Generic RCU fast GUP rely on page_cache_get_speculative() to obtain pin > > > > on pte-mapped page. As pointed by Aneesh during review of my compound > > > > pages refcounting rework, page_cache_get_speculative() would fail on > > > > pte-mapped tail page, since tail pages always have page->_count == 0. > > > > > > > > That means we would never be able to successfully obtain pin on > > > > pte-mapped tail page via generic RCU fast GUP. > > > > > > > > But the problem is not exclusive to my patchset. In current kernel some > > > > drivers (sound, for instance) already map compound pages with PTEs. > > > > > > Hah, you were sending this as I was replying to the original thread. > > > > > > Do we care if fast gup fails on some hardware driver's compound pages? > > > I don't think we do, and it would be better not to complicate the > > > low-level page_cache_get_speculative for them. > > > > Fair enough :-/ > > > > I'll check tomorrow if it will look more reasonable on gup_pte_range() > > level, rather than page_cache_get_speculative(). > > But we don't need it on the (fast) gup_pte_range() level either, do we? > Or do you have THP changes in mmotm which are now demanding this? No. I'll keep it local to my patchset. -- Kirill A. Shutemov -- 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>