lkml.org 
[lkml]   [2018]   [May]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH RT] arm64: fpsimd: use a local_lock() in addition to local_bh_disable()
On 2018-05-22 13:24:29 [-0400], Steven Rostedt wrote:
> On Tue, 22 May 2018 19:21:16 +0200
> Sebastian Andrzej Siewior <bigeasy@linutronix.de> wrote:
>
> > On 2018-05-22 13:10:04 [-0400], Steven Rostedt wrote:
> > > On Thu, 17 May 2018 14:40:06 +0200
> > > Sebastian Andrzej Siewior <bigeasy@linutronix.de> wrote:
> > >
> > > > +static DEFINE_LOCAL_IRQ_LOCK(fpsimd_lock);
> > > > /*
> > > > * Update current's FPSIMD/SVE registers from thread_struct.
> > > > *
> > > > @@ -594,6 +595,7 @@ int sve_set_vector_length(struct task_struct *task,
> > > > * non-SVE thread.
> > > > */
> > > > if (task == current) {
> > > > + local_lock(fpsimd_lock);
> > > > local_bh_disable();
> > >
> > > I'm surprised that we don't have a "local_lock_bh()"?
> >
> > right. Like the last time when we introduced a global lock with no
> > locking context?
> >
>
> I meant, we could have local_lock_bh(fpsimd_lock); that would turn into
> a local_bh_disable() when !PREEMPT_RT.

Oh that part. That could be possible I guess. I need to look into the
second part which disables preemption while the FPU is taken.

> -- Steve

Sebastian

\
 
 \ /
  Last update: 2018-05-22 19:34    [W:0.055 / U:6.608 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site