On Fri, Aug 15, 2014 at 10:03:47AM +0200, Lars Persson wrote: > > On fre, 2014-08-08 at 22:47 +0200, Ralf Baechle wrote: > > On Fri, Aug 08, 2014 at 09:55:00AM -0700, David Daney wrote: > > > > > >+static inline void set_pte_at(struct mm_struct *mm, unsigned long addr, > > > >+ pte_t *ptep, pte_t pteval); > > > >+ > > > > > > Is it possible to reorder the code such that this declaration is not > > > necessary? > > > > That's not as obvious as one might think initially. set_pte_at needs > > to be defined after set_pte but before clear_pte which is calling set_pte_at. > > > > Of both set_pte and clear_pte there are two #ifdefd variants. > > > > set_pte_at is a fairly small function only but it's invoked quite a few > > times so I was a little concerned about the effect on I'm experimenting with > > outlining set_pte_at entirely. ip22_defconfig with the patch applied as > > posted; this is the effect on code size. > > > > text data bss dec hex filename > > 3790118 175304 84544 4049966 3dcc2e vmlinux as posted > > 3789062 175304 84544 4048910 3dc80e vmlinux set_pte_at outlined > > > > Ralf > > Hi Ralf > > Should I update the patch with outlined set_pte_at ? Not necessary; I've already done that myself. I was just waiting for comments. Thanks for your work on tracking this down. I wonder, how did you discover this issue? Ralf