On Thu, Aug 22, 2019 at 12:59:48AM -0700, Christoph Hellwig wrote: > On Thu, Aug 22, 2019 at 10:31:32AM +1000, Dave Chinner wrote: > > > Btw, I think we should eventually kill off KM_NOFS and just use > > > PF_MEMALLOC_NOFS in XFS, as the interface makes so much more sense. > > > But that's something for the future. > > > > Yeah, and it's not quite as simple as just using PF_MEMALLOC_NOFS > > at high levels - we'll still need to annotate callers that use KM_NOFS > > to avoid lockdep false positives. i.e. any code that can be called from > > GFP_KERNEL and reclaim context will throw false positives from > > lockdep if we don't annotate tehm correctly.... > > Oh well. For now we have the XFS kmem_wrappers to turn that into > GFP_NOFS so we shouldn't be too worried, but I think that is something > we should fix in lockdep to ensure it is generally useful. I've added > the maintainers and relevant lists to kick off a discussion. Strictly speaking the fs_reclaim annotation is no longer part of the lockdep core, but is simply a fake lock in page_alloc.c and thus falls under the mm people's purview. That said; it should be fairly straight forward to teach __need_fs_reclaim() about PF_MEMALLOC_NOFS, much like how it already knows about PF_MEMALLOC.