From owner-freebsd-performance@FreeBSD.ORG Fri Jan 2 16:59:09 2015 Return-Path: Delivered-To: freebsd-performance@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C05BCA3B for ; Fri, 2 Jan 2015 16:59:09 +0000 (UTC) Received: from mail-we0-x22b.google.com (mail-we0-x22b.google.com [IPv6:2a00:1450:400c:c03::22b]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493AD1E02 for ; Fri, 2 Jan 2015 16:59:09 +0000 (UTC) Received: by mail-we0-f171.google.com with SMTP id u56so4748473wes.16 for ; Fri, 02 Jan 2015 08:59:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=KwNXwdCogdqIOpxBbd0SmROiJdBLLR6mtb6TCKUeqLQ=; b=KhOzKvO8SmCQwZx+0S12ysl71SZngp/klN2mQWbYHnQCAs23jXVa8PxfLYhDXDLPdO A19LCWVfTNjpN8XS1N1qD7QXQyI9YLKyMBRivHfJEjd4Qs8HH7YhvMuB/wLtZKaeJeAq dycCTSQGjKBADa/3iTnWI6ZO5ywoJZ6FD0K5bHnXBLc/6Gj59tIGofJxg08PdJntIYuG oAcMcA4ZZppAK7DbVELrN1pOZdnBiAXCWpy1cSpTXi+rCFFq8qqHkCAMJ8jB4uACmAvB St4M1m6YGMtpfUUihfG26S8yS27fHMBFBOiLOMCEeM9+j8KP0wg+aq46EYDoob6+wvVp VeKQ== MIME-Version: 1.0 X-Received: by 10.194.5.37 with SMTP id p5mr29997375wjp.20.1420217947680; Fri, 02 Jan 2015 08:59:07 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.216.41.136 with HTTP; Fri, 2 Jan 2015 08:59:07 -0800 (PST) In-Reply-To: References: <54A43EC4.2030706@mykolab.com> <9BF461F5-D6B6-4287-BE8B-87B281FE93D0@gmail.com> <20150101033733.4b295d3b@schwanenlied.me> <54A621C2.2060408@mykolab.com> <20150102102036.0a52b072@schwanenlied.me> Date: Fri, 2 Jan 2015 08:59:07 -0800 X-Google-Sender-Auth: g0KpO-tYpDsN-YEn6cuEyeOmsAM Message-ID: Subject: Re: [tor-dev] gettimeofday() Syscall Issues From: Adrian Chadd To: grarpamp Content-Type: text/plain; charset=UTF-8 Cc: FreeBSD Mailing Lists X-BeenThere: freebsd-performance@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Performance/tuning List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Jan 2015 16:59:09 -0000 What's their benchmark call? What about clock_gettime() versus gettimeofday() ? -adrian On 2 January 2015 at 06:09, grarpamp wrote: > Some recent FreeBSD related questions in this app area. > > > ---------- Forwarded message ---------- > From: Yawning Angel > Date: Fri, Jan 2, 2015 at 5:20 AM > Subject: Re: [tor-dev] gettimeofday() Syscall Issues > To: tor-dev@lists.torproject.org > > > On Thu, 01 Jan 2015 23:42:42 -0500 > Libertas wrote: > >> The first two account for the bulk of the calls, as they are in the >> core data relaying logic. >> >> Ultimately, the problem seems to be that the caching is very weak. At >> most, only half of the calls to tor_gettimeofday_cached_monotonic() >> use the cache. It appears in the vomiting print statements that >> loading a single simple HTML page >> (http://www.openbsd.org/faq/ports/guide.html to be exact) will cause >> >30 gettimeofday() syscalls. You can imagine how that would >> >accumulate for an exit carrying 800 KB/s if the caching >> doesn't improve much with additional circuits. > > So while optimization is cool and all, I'm not seeing why this > specifically is the underlying issue. > > Each cell can contain 498 bytes of user payload. Looking at things > simplistically this is 800 KiB/s -> 1644 cells/sec, leaving you with > approximately 608 microseconds of processing time per cell. > > On my i5-4250U box, gettimeofday() takes 22 ns on Linux, and 2441 ns on > FreeBSD. I'm not sure how accurate the FreeBSD results are as it was > in a VirtualBox VM (getpid() on the same VM takes 124 ns). If someone > has a OpenBSD box they should benchmark gettimeofday() and see how long > the call takes. > > Taking the FreeBSD case (since we know that tor works fine on Linux), a > single gettimeofday() call takes approximately, 0.39% of the per-cell > processing budget. > > For reference (assuming gettimeofday() in *BSD really is this shit > performance wise), 7000 calls to gettimeofday() is 17.09 ms worth of > calls. > > The clock code in tor does need love, so I wouldn't object to cleanup, > but I'm not sure it's in the state where it's causing the massive > performance degradation that you are seeing. > > Regards, > > -- > Yawning Angel > > _______________________________________________ > tor-dev mailing list > tor-dev@lists.torproject.org > https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev > > _______________________________________________ > freebsd-performance@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-performance > To unsubscribe, send any mail to "freebsd-performance-unsubscribe@freebsd.org"