Date: Sat, 16 Feb 2002 23:28:31 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Julian Elischer <julian@elischer.org> Cc: Alfred Perlstein <bright@mu.org>, Poul-Henning Kamp <phk@critter.freebsd.dk>, arch@FreeBSD.ORG, jhb@FreeBSD.ORG, peter@wemm.org, jake@locore.ca Subject: Re: gettimeofday() and crhold()/crfree() (was Re: gettimeofday() Message-ID: <200202170728.g1H7SV651230@apollo.backplane.com> References: <200202170654.WAA44493@InterJet.elischer.org>
next in thread | previous in thread | raw e-mail | index | archive | help
:> I would like to see the invariants sections simply removed.
:>
:> I like to run with INVARIANTS set, even on production systems, because
:> I like the extra assertions it makes.
:
:I agree but jhb wants to have it that way... He wants to be able to catch
:anyone accessing the ucred of a thread that is in user space. I
:personally think we should just remove the code.
Another problem with this is that most -current developers are (I assume)
running with INVARIANTS (because they'd be fools not to). This means
that the code you just comitted is not going to be exercised at all
due to the crfree()'s.
---
In anycase, your code plus #if 0'ing the INVARIANTS and the KASSERT's
that were checking td_ucred == NULL results in a significant improvement
in syscall performance. I am now getting:
CURRENT 2xCPU SMP BUILD W/Julian's code and ucred invariants blasted to bits
and Matt's mutex pool code and
removal of Giant for gettimeofday().
one TG running: 462478/sec
two TGs running: 361962/sec per TG
prior tests:
CURRENT 2xCPU SMP BUILD Original gettimeofday() code
one TG running: 350000/sec
two TGs running: 55000/sec per TG (no, that isn't a type-o)
CURRENT 2xCPU SMP BUILD W/Giant removed from gettimeofday()
one TG running: 375000/sec
two TGs running: 301000/sec per TG (due to ucred Giant issues)
CURRENT, gettimeofday() SMP patch, Matt's original ucred patch:
1 TG running: 396365 calls/sec
2 TGs running: 322000 calls/sec each.
-Matt
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200202170728.g1H7SV651230>
