[PATCH] MPSAFE/LOOKUP_SHARED cd9660
John Baldwin
jhb at freebsd.org
Thu Nov 20 14:32:05 PST 2008
On Thursday 20 November 2008 04:30:57 pm Paul B. Mahol wrote:
> On 11/19/08, John Baldwin <jhb at 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).
Hmm, I had thought I had done that, but I'll try it again. Maybe a lock leak.
> 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.
>
--
John Baldwin
More information about the freebsd-current
mailing list