Re: mlockall triggred rcu_preempt stall.

From: Paul E. McKenney
Date: Sat Jul 20 2013 - 10:01:02 EST


On Fri, Jul 19, 2013 at 08:32:12PM -0400, Dave Jones wrote:
> On Fri, Jul 19, 2013 at 03:15:39PM -0700, Paul E. McKenney wrote:
> > On Fri, Jul 19, 2013 at 10:53:23AM -0400, Dave Jones wrote:
> > > My fuzz tester keeps hitting this. Every instance shows the non-irq stack
> > > came in from mlockall. I'm only seeing this on one box, but that has more
> > > ram (8gb) than my other machines, which might explain it.
> >
> > Are you building CONFIG_PREEMPT=n? I don't see any preemption points in
> > do_mlockall(), so a range containing enough vmas might well stall the
> > CPU in that case.
>
> That was with full preempt.
>
> > Does the patch below help? If so, we probably need others, but let's
> > first see if this one helps. ;-)
>
> I'll try it on Monday.

Given full preempt, I wouldn't think that my patch would have any effect,
but look forward to hearing what happens.

Hmmm.... Were you running mlockall() concurrently from a bunch of
different processes sharing lots of memory via mmap() or some such?

Thanx, Paul

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/