Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Nov 2008 22:30:57 +0100
From:      "Paul B. Mahol" <onemda@gmail.com>
To:        "John Baldwin" <jhb@freebsd.org>
Cc:        current@freebsd.org
Subject:   Re: [PATCH] MPSAFE/LOOKUP_SHARED cd9660
Message-ID:  <3a142e750811201330p3084255em390d94b352dee532@mail.gmail.com>
In-Reply-To: <200811191510.53793.jhb@FreeBSD.org>
References:  <200811191510.53793.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 11/19/08, John Baldwin <jhb@freebsd.org> wrote:
> This is a relatively simple patch to mark cd9660 MPSAFE and enable shared
> lookups.  The changes to cd9660_lookup() mirror similar changes to
> ufs_lookup() to use static variables for local data rather than abusing
> i-node members of the parent directory.  I've done some light testing of
> this, but not super-strenuous.  This patch also includes simple locking for
> the iconv support in the kernel.  That locking uses an sx lock to serialize
> open and close of translator tables and the associated refcount.  Actual
> conversions do not need any locks, however as the mount holds a reference on
> the table.
>
> http://www.FreeBSD.org/~jhb/patches/cd9660_mpsafe.patch
>

With this patch I'm unable to kldunload libiconv.ko once it is loaded.
And trying to kldunload libiconv.ko will make any next kldload/kldstat/kldunload
to fail waiting forever(livelock).

Regression were not encountered while only cd9660.ko were kldloaded.

BTW:

Machine crashed during clean shutdown (with old kernel without this patch)
after atapicd where kldloaded and after that used some time and tham
kldunloaded.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3a142e750811201330p3084255em390d94b352dee532>