NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

bin/41201: bind9 should not use home grown rwlock on NetBSD



>Number:         41201
>Category:       bin
>Synopsis:       bind9 should not use home grown rwlock on NetBSD
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    bin-bug-people
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Mon Apr 13 20:20:00 +0000 2009
>Originator:     Andrew Doran
>Release:        5.0
>Organization:
The NetBSD Project
>Environment:
n/a
>Description:
libisc includes a home-grown rwlock implementation.

It uses this because pthread_rwlock sucks bigtime on most platforms,
and bind9 (apparently) makes heavy use of rwlocks.

However, on NetBSD, pthread_rwlock is even more lightweight than the
libisc implementation and has the significant advantage that it's a
true adaptive rwlock (avoids context switch storms, pointless spinning).

So we have something that would give us a real advantage on bind9 
benchmarks and we are not using it, which is suboptimal.

>How-To-Repeat:
Read that bind9 on 4.0 was embarrassingly slow when tested by ISC.
Test and notice that 5.0 is way, way better.
Read about bind9 performance issues, notice erratic performance from
bind9, characteristic of heavy use of of non-truly-adaptive locks.

>Fix:
Above.



Home | Main Index | Thread Index | Old Index