Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Sep 2022 17:17:04 +0300
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Mateusz Guzik <mjguzik@gmail.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: kernel-side thread stack swapping
Message-ID:  <YxIQYCb3CsBtv9Gf@kib.kiev.ua>
In-Reply-To: <CAGudoHGbomDGPNsYa_RHGS7NkWU4iOBHnxr9bCnvfn8BYMjEJQ@mail.gmail.com>
References:  <CAGudoHFh5H721kcQT0zDdErD%2Bj%2B0YA6Hz=%2Bjarg9R1jdttfx-A@mail.gmail.com> <YxINyjnFDt8kU41j@kib.kiev.ua> <CAGudoHGbomDGPNsYa_RHGS7NkWU4iOBHnxr9bCnvfn8BYMjEJQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Sep 02, 2022 at 04:11:40PM +0200, Mateusz Guzik wrote:
> On 9/2/22, Konstantin Belousov <kostikbel@gmail.com> wrote:
> > On Fri, Sep 02, 2022 at 02:05:37PM +0200, Mateusz Guzik wrote:
> >> Is this really of practical use today?
> >>
> >> I have a WIP patch which needs to temporarily store something on the
> >> stack and should things go wrong enough it will be accessed by UMA,
> >> which can't handle the fault nor decide to skip the access.
> >>
> >> I can add something like td_pinstack or whatever to keep it around,
> >> but perhaps the entire machinery can be just whacked?
> > p_hold already does that.
> >
> 
> I only need to protect the one stack and more importantly don't want
> to take the proc lock to bump p_hold (nor convert it to atomics), it's
> all thread-local so to speak.

You do not want to take proc lock, or cannot?  Note that only sleeping
thread' stack can be swapped out.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?YxIQYCb3CsBtv9Gf>