Re: Panic on -CURRENT after LDT changes

From: Attilio Rao <attilio_at_freebsd.org>
Date: Tue, 29 May 2007 00:53:30 +0200
2007/5/28, Attilio Rao <attilio_at_freebsd.org>:
> Tor Egge wrote:
> >
> > Finally, I found that i386_ldt_grow() called smp_rendezvous() without
> > temporarily unlocking dt_lock.  That caused a deadlock.  Adding a temporary
> > unlock of dt_lock seems to solve the problem for me.
>
> Effectively, there is the need to release the dt_lock before to call
> smp_rendezvous() beacause other threads running on other CPUs will
> contest on this lock and it will cause a deadlock (since their
> curthreads don't hold the lock).
> I think that mantaining the current locking requirements for
> i386_ldt_grow() is still good, since, for how it is used, this is the
> lighter approach. I will add release/unrelease around smp_rendezvous() too.

Tor,
I've updated the patch. Can you please redownload it and test/review:
http://users.gufi.org/~rookie/works/patches/schedlock/ldt2.diff

Thanks,
Attilio


-- 
Peace can only be achieved by understanding - A. Einstein
Received on Mon May 28 2007 - 20:53:31 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:11 UTC