Date: Wed, 9 Feb 2005 08:29:40 +0000 (UTC) From: Pawel Jakub Dawidek <pjd@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/geom/gate g_gate.c g_gate.h Message-ID: <200502090829.j198TeLR057566@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
pjd 2005-02-09 08:29:39 UTC
FreeBSD src repository
Modified files:
sys/geom/gate g_gate.c g_gate.h
Log:
- Remove g_gate_hold()/g_gate_release() from start/done paths. It saves
4 mutex operations per I/O requests.
- Use only one mutex to protect both (incoming and outgoing) queue.
As MUTEX_PROFILING(9) shows, there is no big contention for this lock.
- Protect sc_queue_count with queue mutex, instead of doing atomic
operations on it.
- Remove DROP_GIANT()/PICKUP_GIANT() - ggate is marked as MPSAFE and no
Giant there.
Revision Changes Path
1.15 +36 -54 src/sys/geom/gate/g_gate.c
1.4 +4 -5 src/sys/geom/gate/g_gate.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200502090829.j198TeLR057566>
