From owner-freebsd-hackers Wed Jul 26 1:44: 4 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from web119.yahoomail.com (web119.yahoomail.com [205.180.60.120]) by hub.freebsd.org (Postfix) with SMTP id 305CD37B541 for ; Wed, 26 Jul 2000 01:44:02 -0700 (PDT) (envelope-from thallgren@yahoo.com) Received: (qmail 23001 invoked by uid 60001); 26 Jul 2000 08:44:02 -0000 Message-ID: <20000726084402.23000.qmail@web119.yahoomail.com> Received: from [212.75.64.155] by web119.yahoomail.com; Wed, 26 Jul 2000 01:44:01 PDT Date: Wed, 26 Jul 2000 01:44:01 -0700 (PDT) From: =?iso-8859-1?q?Tommy=20Hallgren?= Subject: Benchmark oddities To: freebsd-hackers@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hi! I'm reading http://www-scf.usc.edu/~akhavans/Linux_vs_FreeBSD.pdf and have a couple of questions I hope someone here could answer. 1. Section 4.3 and 4.4 is about syscall overhead context switch time. "Figure 2 indicates that the FreeBSD context switch increases linearly with the number of processes, suggesting that the FreeBSD scheduler must search an O (number of processes) data structure during a context switch. Our results show that Linux responds with extreme speed to system calls, and it scales well as the number of processes increases. Paper [4] reports the reverse of these phenomena, which is puzzling since newer versions of the OS should not perform worse than prior versions in such an important function." (Paper [4] is about Windows NT filesystems, maybe he meant the old Stanford paper?) First, the benchmark does a lot of getpid()'s, I don't have to source of glibc handy, but I've heard that glibc caches the pid, meaning that this benchmark is probably bogus since it doesn't measure syscall time on one of the systems. Is that correct? Second, I've repeatedly read in the various FreeBSD mailing-lists that the complexity of FreeBSD's scheduler is a lot better than O(n). Am I missing something here? 2. In section 4.5("Process creation(Fork, Exec)") he quotes a Linux manpage that claims that FreeBSD copies the entire data section when fork() is called. Sounds like rubbish to me. I thought that all modern OS's used copy-on-write when forking. I'm fairly sure the quote is wrong. The author wants to benchmark out-of-the-box systems, a rather silly thing to do IMHO, and he neglects to turn of SoftUpdates, raise the maximum number of filehandles etc etc. Thanks in advance. Regards, Tommy PS. Please cc me since I'm not on this list. DS. ===== Tommy Hallgren Work: tommy@frontpartner.com Tel: +46 (0)709 - 312 404 __________________________________________________ Do You Yahoo!? Get Yahoo! Mail – Free email you can access from anywhere! http://mail.yahoo.com/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message