Hi.

Our WITNESS mechanism for LORs discovery reports LOR between the
arc_eviction_mtx and b_evict_lock locks.

For example in functions arc_do_user_evicts() and arc_hdr_destroy() the
order is arc_eviction_mtx, b_evict_lock.
In function arc_evict() the order is b_evict_lock, arc_eviction_mtx.

I propose to change the order in arc_hdr_destroy() and change
arc_do_user_evict() to not acquire both locks at the same time.
The arc_do_user_evict() in FreeBSD was rewritten by Kip Macy and also
allows for more parallelism.

The patch is here:

        http://people.freebsd.org/~pjd/patches/arc.c.7.patch

Does it look correct?

-- 
Pawel Jakub Dawidek                       http://www.wheelsystems.com
[email protected]                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

Attachment: pgpb3kCxO4TS1.pgp
Description: PGP signature

_______________________________________________
zfs-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/zfs-code

Reply via email to