Date: Thu, 18 Aug 2011 17:37:59 -0700 From: Chip Camden <sterling@camdensoftware.com> To: Hiroki Sato <hrs@FreeBSD.org> Cc: freebsd-stable@FreeBSD.org, avg@FreeBSD.org, attilio@FreeBSD.org, Nick Esborn <nick@desert.net>, kostikbel@gmail.com, mdtansca@FreeBSD.org Subject: Re: panic: spin lock held too long (RELENG_8 from today) Message-ID: <20110819003759.GC54831@libertas.local.camdensoftware.com> In-Reply-To: <20110819.092811.1087267565626420460.hrs@allbsd.org> References: <20110818.091600.831954331552558249.hrs@allbsd.org> <CAJ-FndCL70m41dQ9FPmzUg0V8a9JacvLOnjmMQL=3PfN7NmPfQ@mail.gmail.com> <20110818025550.GA1971@libertas.local.camdensoftware.com> <20110819.092811.1087267565626420460.hrs@allbsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--f+W+jCU1fRNres8c Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Quoth Hiroki Sato on Friday, 19 August 2011: > Chip Camden <sterling@camdensoftware.com> wrote > in <20110818025550.GA1971@libertas.local.camdensoftware.com>: >=20 > st> Quoth Attilio Rao on Thursday, 18 August 2011: > st> > In callout_cpu_switch() if a low priority thread is migrating the > st> > callout and gets preempted after the outcoming cpu queue lock is le= ft > st> > (and scheduled much later) we get this problem. > st> > > st> > In order to fix this bug it could be enough to use a critical secti= on, > st> > but I think this should be really interrupt safe, thus I'd wrap them > st> > up with spinlock_enter()/spinlock_exit(). Fortunately > st> > callout_cpu_switch() should be called rarely and also we already do > st> > expensive locking operations in callout, thus we should not have > st> > problem performance-wise. > st> > > st> > Can the guys I also CC'ed here try the following patch, with all the > st> > initial kernel options that were leading you to the deadlock? (thus > st> > revert any debugging patch/option you added for the moment): > st> > http://www.freebsd.org/~attilio/callout-fixup.diff > st> > > st> > Please note that this patch is for STABLE_8, if you can confirm the > st> > good result I'll commit to -CURRENT and then backmarge as soon as > st> > possible. > st> > > st> > Thanks, > st> > Attilio > st> > > st> > st> Thanks, Attilio. I've applied the patch and removed the extra debug > st> options I had added (though keeping debug symbols). I'll let you kno= w if > st> I experience any more panics. >=20 > No panic for 20 hours at this moment, FYI. For my NFS server, I > think another 24 hours would be sufficient to confirm the stability. > I will see how it works... >=20 > -- Hiroki Likewise: $ uptime 5:37PM up 21:45, 5 users, load averages: 0.68, 0.45, 0.63 So far, so good (knocks on head). --=20 =2EO. | Sterling (Chip) Camden | http://camdensoftware.com =2E.O | sterling@camdensoftware.com | http://chipsquips.com OOO | 2048R/D6DBAF91 | http://chipstips.com --f+W+jCU1fRNres8c Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (FreeBSD) iQEcBAEBAgAGBQJOTbBnAAoJEIpckszW26+RT+AIAIRMa07BhoVaRBq3lz1dVcsq zh+G7945FXqbD+0hhv+/4T75mbtzSG4l72dhlwGWNUZg70hZKqEUfNzQs3meSquR wmVCi3NH0cu5jIAZqvDWCvU8BigBn2GRjN/sXl5GCsGrZFi50kZXWKmgzTyDVrIM iwva8366ceK36QfodupVgxSs7ifDt8Jl3tLSdXHdacf17BceW2mETwOVvmd13LXQ BVOxFE7Qmk7xYXqrt3dj+E/gtO21R31EL3XJYx7prev534eNF99pn1GZCaj2By1Q B1iG4SfXMgYtzHpqSGniENX8RAhaCJmpFZDrIebnawel2rPMPFHuzJLc5hKp6eE= =lxLO -----END PGP SIGNATURE----- --f+W+jCU1fRNres8c--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110819003759.GC54831>