On Wed, Aug 07, 2013 at 01:28:12PM -0700, Andrew Morton wrote: > > Good god. > > I wonder if these can be turned into out-of-line functions in some form > which humans can understand. > > or > > #define pte_to_pgoff(pte) > frob(pte, PTE_FILE_SHIFT1, PTE_FILE_BITS1) + > frob(PTE_FILE_SHIFT2, PTE_FILE_BITS2) + > frob(PTE_FILE_SHIFT3, PTE_FILE_BITS3) + > frob(PTE_FILE_SHIFT4, PTE_FILE_BITS1 + PTE_FILE_BITS2 + PTE_FILE_BITS3) Hi, here is what I ended up with. Please take a look (I decided to post patch in the thread since it's related to the context of the mails).