[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMo8BfL=3PEi3GWd6LR9kiKViN=t1KbgbkjEEwT8GAb-Uvnp0A@mail.gmail.com>
Date: Thu, 12 Nov 2020 01:12:36 -0800
From: Max Filippov <jcmvbkbc@...il.com>
To: Jens Axboe <axboe@...nel.dk>
Cc: "open list:TENSILICA XTENSA PORT (xtensa)"
<linux-xtensa@...ux-xtensa.org>, Chris Zankel <chris@...kel.net>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2] xtensa: fix broken TIF_NOTIFY_SIGNAL assembly
On Wed, Nov 11, 2020 at 1:05 PM Jens Axboe <axboe@...nel.dk> wrote:
>
> On 11/11/20 1:53 PM, Max Filippov wrote:
> > TIF_NOTIFY_SIGNAL handling in xtensa assembly is implemented
> > incorrectly: there should be a call to do_notify_resume when either
> > TIF_SIGPENDING, TIF_NOTIFY_RESUME or TIF_NOTIFY_SIGNAL bit is set in the
> > thread_info::flags. The straightforward way to do it would be
> >
> > _bbsi.l a4, TIF_NEED_RESCHED, 3f
> > _bbsi.l a4, TIF_NOTIFY_RESUME, 2f
> > _bbsi.l a4, TIF_NOTIFY_SIGNAL, 2f
> > _bbci.l a4, TIF_SIGPENDING, 5f
> >
> > Optimize it a little bit and use bit mask and bnone opcode to skip
> > do_notify_resume invocation. Shuffle _TIF_* flags a bit so that used bit
> > mask fits into the immediate field of movi opcode.
>
> Thanks - do you mind if I fold this in with a reference to your
> changes? Seems like that'd be a better option than leaving it
> broken for a bit.
Sure Jens, by all means!
--
Thanks.
-- Max
Powered by blists - more mailing lists