Messages in this thread | | | Date | Thu, 6 May 2021 12:25:55 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH 04/19] sched: Prepare for Core-wide rq->lock |
| |
On Wed, May 05, 2021 at 09:20:38AM -0700, Don Hiatt wrote: > On Tue, May 4, 2021 at 12:38 AM Peter Zijlstra <peterz@infradead.org> wrote: > > > > On Thu, Apr 29, 2021 at 01:39:54PM -0700, Josh Don wrote: > > > > > > > +void double_rq_lock(struct rq *rq1, struct rq *rq2) > > > > > +{ > > > > > + lockdep_assert_irqs_disabled(); > > > > > + > > > > > + if (rq1->cpu > rq2->cpu) > > > > > > > > It's still a bit hard for me to digest this function, I guess using (rq->cpu) > > > > can't guarantee the sequence of locking when coresched is enabled. > > > > > > > > - cpu1 and cpu7 shares lockA > > > > - cpu2 and cpu8 shares lockB > > > > > > > > double_rq_lock(1,8) leads to lock(A) and lock(B) > > > > double_rq_lock(7,2) leads to lock(B) and lock(A) > > > > Good one! > > Hi Peter, > > I've been running the same set-cookie tests on your latest repo for > the last 24 hours and haven't had a single lockup. Thank you very > much!
Excellent, applied your Tested-by, thanks!
| |