NetBSD vs Solaris condvar semantics

2012-10-14 Thread Taylor R Campbell
I'm working on fixing ZFS locking, and I ran into a diference between NetBSD's and Solaris's interpretation of condvars. In Solaris, it seems to be kosher to do cv_broadcast(cv); cv_destroy(cv); at least if waiters use only cv_wait and not cv_wait_sig c. That idiom makes NetBSD very

Re: NetBSD vs Solaris condvar semantics

2012-10-14 Thread Taylor R Campbell
Date: Sun, 14 Oct 2012 09:37:09 +0200 From: Martin Husemann mar...@duskware.de In the zfs code, where do they store the mutex needed for cv_wait? In the two cases I have come across, dirent locks and range locks, a number of condvars, one per dirent or one per range, share a common

Re: NetBSD vs Solaris condvar semantics

2012-10-14 Thread Taylor R Campbell
Date: Sun, 14 Oct 2012 10:04:53 +0100 From: David Laight da...@l8s.co.uk Hmmm IIRC solaris kernel cv_init() is actually a malloc, so cv_destroy() is a free() - and thus mandatory. OTOH doesn't NetBSD's cv_init() just initialise the memory, making cv_destroy() not strictly

Re: NetBSD vs Solaris condvar semantics

2012-10-14 Thread Taylor R Campbell
Date: Sun, 14 Oct 2012 14:27:48 + From: Taylor R Campbell campbell+netbsd-tech-k...@mumble.net In the two cases I have come across, dirent locks and range locks, a number of condvars, one per dirent or one per range, share a common mutex in some common enclosing object, such as

Kernel based virtual machine

2012-10-14 Thread Lukas Laukamp
Hello all, I would like to ask whether there are plans to port the Kernel based virtual machine (KVM) from Linux to NetBSD. I already asked that on the netbsd-ports list, but Hubert Feyrer said that this list could also be a good place for this. I personaly think that KVM is a technology

Re: NetBSD vs Solaris condvar semantics

2012-10-14 Thread David Holland
On Sun, Oct 14, 2012 at 07:20:02AM +, Taylor R Campbell wrote: I'm working on fixing ZFS locking, and I ran into a diference between NetBSD's and Solaris's interpretation of condvars. In Solaris, it seems to be kosher to do cv_broadcast(cv); cv_destroy(cv); at least

Re: fixing zfs

2012-10-14 Thread Christos Zoulas
In article 20121014193635.6ccf360...@jupiter.mumble.net, Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: -=-=-=-=-=- The attached patches fixes a lot of issues in our zfs port mainly having to do with locking and our (insane) vop protocols. With it, many of the zfs tests pass much

Re: NetBSD vs Solaris condvar semantics

2012-10-14 Thread David Laight
On Sun, Oct 14, 2012 at 02:27:48PM +, Taylor R Campbell wrote: Date: Sun, 14 Oct 2012 09:37:09 +0200 From: Martin Husemann mar...@duskware.de In the zfs code, where do they store the mutex needed for cv_wait? In the two cases I have come across, dirent locks and range locks, a

5.1 vs gdb

2012-10-14 Thread Mouse
I've run into an issue with gdb on 5.1, and ktrace leads me to think it's likely a kernel issue (hence this list). It wouldn't surprise me too much if I were wrong, though; feel free to point me elsewhere if appropriate. The surface manifestation is straightforward: % cat gdbtest.c int

Re: 5.1 vs gdb

2012-10-14 Thread Christos Zoulas
In article 201210142318.taa11...@sparkle.rodents-montreal.org, Mouse mo...@rodents-montreal.org wrote: I've run into an issue with gdb on 5.1, and ktrace leads me to think it's likely a kernel issue (hence this list). It wouldn't surprise me too much if I were wrong, though; feel free to point

re: 5.1 vs gdb

2012-10-14 Thread matthew green
fwiw, you can usually work around this with setting SHELL=/bin/sh when invoking gdb. .mrg.