DragonFly BSD
DragonFly commits List (threaded) for 2006-06
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: cvs commit: src/sys/amd64/amd64 genassym.c src/sys/conf files src/sys/dev/acpica5 acpi_ec.c src/sys/dev/acpica5/Osd OsdSynch.c src/sys/dev/drm drm_os_freebsd.h src/sys/dev/raid/aac aacvar.h src/sys/dev/raid/ips ips.c ips.h ips_disk.c ips_ioctl.c ips_pci.c ...


From: YONETANI Tomokazu <qhwt+dfly@xxxxxxxxxx>
Date: Thu, 15 Jun 2006 20:16:18 +0900

On Sun, Jun 04, 2006 at 02:09:50PM -0700, Matthew Dillon wrote:
>   Log:
>   Remove LWKT reader-writer locks (kern/lwkt_rwlock.c).  Remove lwkt_wait
>   queues (only RW locks used them).  Convert remaining uses of RW locks to
>   LOCKMGR locks.
>   
>   In recent months lockmgr locks have been simplified to the point where we
>   no longer need a lighter-weight fully blocking lock.  The removal also
>   simplifies lwkt_schedule() in that it no longer needs a special case to
>   deal with wait lists.

				:

> http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/ips/ips.c.diff?r1=1.12&r2=1.13&f=u
> http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/ips/ips.h.diff?r1=1.9&r2=1.10&f=u
> http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/ips/ips_disk.c.diff?r1=1.7&r2=1.8&f=u
> http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/ips/ips_ioctl.c.diff?r1=1.5&r2=1.6&f=u
> http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/ips/ips_pci.c.diff?r1=1.15&r2=1.16&f=u

Apparently an SMP machine with copperhead-based ServeRAID controller
has suffered from an occasional missing interrupts before this commit.
It used to break down under blogbench test(and unwinding code in
ips_timeout() doesn't work as expected), but now it servives until
it hits maxcount limit in vmntvnodescan() and panic.
I still haven't found where the real mess is, but replacing rwlock
with either a serializing token or a lockmgr lock helps, both HEAD
and 1.4.x .



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]