[PATCHv6 6/8] arm64: use fixmap for text patching when text is RO

Catalin Marinas catalin.marinas at arm.com
Tue Dec 2 07:59:27 PST 2014


On Wed, Nov 26, 2014 at 04:18:02PM +0000, Mark Rutland wrote:
> On Tue, Nov 25, 2014 at 06:54:14PM +0000, Laura Abbott wrote:
> > On 11/25/2014 9:04 AM, Mark Rutland wrote:
> > > Hi Laura,
> > >
> > > It looks like "early" means before we've set up the strict page
> > > permissions, though as far as I can tell the fixmap will already be
> > > available before we do any patching. Could we not always use the fixmap
> > > for patching? Then we only need the patch_{map,unmap} additions, and not
> > > the changes to distinguish the early cases.
> > >
> > >  From testing on Juno with defconfig, all of the early patches were
> > > avoidable NOP -> NOP changes as part of static key initialisation, which
> > > I think we can skip similarly to x86 (I'll send a patch shortly). All other
> > > patches were not early and went via the fixmap.
> > >
> > > Even with the avoidable NOP -> NOP patching I did not see a noticeable
> > > boot time difference from forcing the use of the fixmap.
> > >
> > 
> > I was basing it off of the arm version which needed the early option.
> > If arm64 doesn't need it I'll drop it.
> 
> Given that it only determines whether or not to use the fixmap, and we
> can always use the fixmap, I think we can drop it.

BTW, do we ever expect a write to the temporary POKE0 fixmap to fail? If
not (I don't think it would fail), we can just override the
__probe_kernel_write() to use set_fixmap() (maybe only when this feature
is enabled).

-- 
Catalin



More information about the linux-arm-kernel mailing list