Re: [PATCH] locking: Add __lockfunc to slow path functions

From: Namhyung Kim
Date: Wed Aug 10 2022 - 17:04:25 EST


On Tue, Aug 9, 2022 at 4:37 PM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
>
> On Tue, Aug 9, 2022 at 4:09 PM Waiman Long <longman@xxxxxxxxxx> wrote:
> >
> > On 8/9/22 17:13, Namhyung Kim wrote:
> > > --- a/arch/x86/include/asm/qspinlock_paravirt.h
> > > +++ b/arch/x86/include/asm/qspinlock_paravirt.h
> > > @@ -36,7 +36,7 @@ PV_CALLEE_SAVE_REGS_THUNK(__pv_queued_spin_unlock_slowpath);
> > > * rsi = lockval (second argument)
> > > * rdx = internal variable (set to 0)
> > > */
> > > -asm (".pushsection .text;"
> > > +asm (".pushsection .spinlock.text;"
> > > ".globl " PV_UNLOCK ";"
> > > ".type " PV_UNLOCK ", @function;"
> > > ".align 4,0x90;"
> > >
> > That is what I meant. However, you should also a comment saying that the
> > use of .spinlock.text section is equivalent to the use of __lockfunc on
> > an equivalent C function to make it clear. Also add the __lockfunc to
> > the pseudo code in the comment section.

FYI I had to use __PV_CALLEE_SAVE_REGS_THUNK to pass the section name
(".spinlock.text") to prevent a build error.

CC kernel/locking/qspinlock.o
/tmp/ccdn2Gyk.s: Assembler messages:
/tmp/ccdn2Gyk.s:725: Error: changed section attributes for .spinlock.text

Thanks,
Namhyung