Return-Path: Delivered-To: new-httpd-archive@hyperreal.org Received: (qmail 15675 invoked by uid 6000); 4 Nov 1997 07:58:01 -0000 Received: (qmail 15656 invoked from network); 4 Nov 1997 07:58:00 -0000 Received: from twinlark.arctic.org (204.62.130.91) by taz.hyperreal.org with SMTP; 4 Nov 1997 07:58:00 -0000 Received: (qmail 2623 invoked by uid 500); 4 Nov 1997 07:57:59 -0000 Date: Mon, 3 Nov 1997 23:57:59 -0800 (PST) From: Dean Gaudet To: new-httpd@apache.org Subject: Re: [PATCH] make SVSEM default on Solaris In-Reply-To: <9711031736.aa20475@paris.ics.uci.edu> Message-ID: Organization: Transmeta Corp. MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org On Mon, 3 Nov 1997, Roy T. Fielding wrote: > fielding@kiwi% time-SEM 160 1000 > accept_mutex_on: No space left on device > accept_mutex_on: No space left on device > accept_mutex_on: No space left on device > accept_mutex_on: No space left on device > WTF! shared_counter != num_child * num_iter! > 3.268732 >From man semop: ENOSPC The limit on the number of individual processes requesting an SEM_UNDO would be exceeded. I wonder how you tune that limit. I couldn't find anything obvious... it's probably one of those wonderfully documented /etc/system settings. FWIW, the limit seems to be 29 on one of the systems here. This system is an ultra 2 with dual 167MHz chips and 640Mb of RAM running 2.5.1. Here's some timings: % ./time-SEM 29 10000 9.407788 % ./time-PTHREAD 29 10000 1.309625 % ./time-PTHREAD 200 10000 8.442355 I suspect there's a difference between UP and MP boxes just like there is under IRIX, bleh. Ok here's timings on a 2.5 system with 256Mb of RAM and a single 200Mhz UltraSPARC: % ./time-SEM 29 10000 4.069612 % ./time-PTHREAD 29 10000 1.687709 % ./time-PTHREAD 100 10000 6.001535 % ./time-PTHREAD 200 10000 11.638046 I dunno, I don't see the pthread problem you're seeing, that looks like close to linear degredation for pthread. Unlike, say, fcntl: % =1/time-FCNTL 10 10000 2.254160 % =1/time-FCNTL 30 10000 17.364744 % =1/time-FCNTL 100 10000 81.941647 Oh BTW Roy, if you're going to time fcntl then you should "cd /var/tmp" or otherwise make sure your cwd is not NFS mounted ... 'cause that's where the lock file will be created. I just added a printf for that. Dean