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>

index | next in thread | previous in thread | raw e-mail

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.


home | help

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