From owner-freebsd-current@FreeBSD.ORG Wed Mar 3 23:29:40 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D700F16A4CE for ; Wed, 3 Mar 2004 23:29:40 -0800 (PST) Received: from hetzner.co.za (lfw.hetzner.co.za [196.7.18.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2D58F43D2F for ; Wed, 3 Mar 2004 23:29:40 -0800 (PST) (envelope-from ianf@hetzner.co.za) Received: from localhost ([127.0.0.1]) by hetzner.co.za with esmtp (Exim 3.36 #1) id 1AynIW-0007FC-00 for freebsd-current@freebsd.org; Thu, 04 Mar 2004 09:29:36 +0200 To: freebsd-current@freebsd.org From: Ian Freislich X-Attribution: BOFH Date: Thu, 04 Mar 2004 09:29:36 +0200 Sender: ianf@hetzner.co.za Message-Id: Subject: ULE on current and CPU afinity. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Mar 2004 07:29:41 -0000 Hi I thought I'd give ULE a spin again since according to Robert Watson and David O'Brien's recents posts it appears that it might not to pessimise my SMP buildworld. I noticed this oddity: dnetc in order to utilize both CPUs forks a child which also processes. SCHED_4BSD seems to be aware that the second CPU is idle and the child or parent (don't really care which) migrates to the second CPU so that all CPU time is occupied on both CPUs. SCHED_ULE doesn't seem to migrate processes to an idle CPU and as a result one CPU in my system is 100% idle. last pid: 677; load averages: 2.06, 1.69, 0.89 up 0+00:09:57 09:22:29 40 processes: 3 running, 37 sleeping CPU states: 0.0% user, 50.0% nice, 0.4% system, 0.4% interrupt, 49.2% idle Mem: 25M Active, 25M Inact, 22M Wired, 56K Cache, 28M Buf, 111M Free Swap: 512M Total, 512M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU CPU COMMAND 624 ianf 139 20 1072K 884K RUN 0 4:00 48.44% 48.44% dnetc 636 ianf 139 20 1072K 884K CPU0 0 3:26 48.44% 48.44% dnetc Do processes have CPU afinity and is that afinity inherited by their children? Is this a wise thing to do since as demonstrated here it is possible that all the CPU hogs may land up on 1 processor thereby pessimising runtime? Ian -- Ian Freislich