On 13 Jun 2014, at 22:44, Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> wrote: > On Fri, 2014-06-13 at 09:56 +0100, Catalin Marinas wrote: > >> OK, so that's the DART table allocated via alloc_dart_table(). Is >> dart_tablebase removed from the kernel linear mapping after allocation? > > Yes. > >> If that's the case, we need to tell kmemleak to ignore this block (see >> patch below, untested). But I still can't explain how commit >> d4c54919ed863020 causes this issue. >> >> (also cc'ing the powerpc list and maintainers) > > We remove the DART from the linear mapping because it has to be mapped > non-cachable and having it in the linear mapping would cause cache > paradoxes. We also can't just change the caching attributes in the > linear mapping because we use 16M pages for it and 970 CPUs don't > support cache-inhibited 16M pages :-( And due to the MMU segmentation > model, we also can't mix & match page sizes in that area. > > So we just unmap it, and ioremap it elsewhere. OK, thanks for the explanation. So the kmemleak annotation makes sense. Would you please take the I patch earlier (I guess with Denis’ tested- by). I can send it separately if more convenient. Thanks, Catalin -- 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