Skip site navigation (1)Skip section navigation (2)
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>