[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201110132415.GA48886@lothringen>
Date: Tue, 10 Nov 2020 14:24:15 +0100
From: Frederic Weisbecker <frederic@...nel.org>
To: Peter Zijlstra <peterz@...radead.org>
Cc: LKML <linux-kernel@...r.kernel.org>, Mel Gorman <mgorman@...e.de>,
Michal Hocko <mhocko@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
"Paul E . McKenney" <paulmck@...nel.org>,
Ingo Molnar <mingo@...hat.com>, Michal Hocko <mhocko@...e.com>
Subject: Re: [RFC PATCH 1/7] static_call/x86: Add __static_call_returnl0()
On Tue, Nov 10, 2020 at 10:55:15AM +0100, Peter Zijlstra wrote:
> On Tue, Nov 10, 2020 at 01:56:03AM +0100, Frederic Weisbecker wrote:
> > diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
> > index 2400ad62f330..37592f576a10 100644
> > --- a/arch/x86/kernel/alternative.c
> > +++ b/arch/x86/kernel/alternative.c
> > @@ -1125,6 +1125,10 @@ noinstr int poke_int3_handler(struct pt_regs *regs)
> > int3_emulate_jmp(regs, (long)ip + tp->rel32);
> > break;
> >
> > + case XOR5RAX_INSN_OPCODE:
> > + int3_emulate_xor5rax(regs);
> > + break;
> > +
> > default:
> > BUG();
> > }
> > @@ -1291,6 +1295,7 @@ static void text_poke_loc_init(struct text_poke_loc *tp, void *addr,
> > switch (tp->opcode) {
> > case INT3_INSN_OPCODE:
> > case RET_INSN_OPCODE:
> > + case XOR5RAX_INSN_OPCODE:
> > break;
> >
> > case CALL_INSN_OPCODE:
>
> Why did you add full emulation of this? The patch I send to you used the
> text_poke_bp(.emulate) argument to have it emulate an actual call to the
> out-of-line version of that function.
>
> That should work fine and is a lot less code.
Perhaps I pushed the cleanup a bit too far indeed. I wanted to standardize
it just like any flavour of text patching. And also I thought that emulate
thing was on the way to be deprecated.
Anyway, I'll restore the old version.
Thanks.
Powered by blists - more mailing lists