From owner-freebsd-stable@FreeBSD.ORG Sat Aug 26 03:42:17 2006 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5B4C516A4DE for ; Sat, 26 Aug 2006 03:42:17 +0000 (UTC) (envelope-from andymac@bullseye.apana.org.au) Received: from ash25e.internode.on.net (ash25e.internode.on.net [203.16.214.182]) by mx1.FreeBSD.org (Postfix) with ESMTP id AFB9A43D46 for ; Sat, 26 Aug 2006 03:42:15 +0000 (GMT) (envelope-from andymac@bullseye.apana.org.au) Received: from bullseye.apana.org.au (ppp58-48.lns1.cbr1.internode.on.net [59.167.58.48]) by ash25e.internode.on.net (8.13.6/8.13.5) with ESMTP id k7Q3gEH0055165 for ; Sat, 26 Aug 2006 13:12:14 +0930 (CST) (envelope-from andymac@bullseye.apana.org.au) Received: from [192.168.63.10] (tenring.andymac.org [192.168.63.10]) by bullseye.apana.org.au (8.13.6/8.13.6) with ESMTP id k7Q3gCqM004684 for ; Sat, 26 Aug 2006 13:42:14 +1000 (EST) (envelope-from andymac@bullseye.andymac.org) Message-ID: <44EFB564.8090004@bullseye.andymac.org> Date: Sat, 26 Aug 2006 13:43:48 +1100 From: Andrew MacIntyre User-Agent: Thunderbird 1.5.0.5 (OS/2/20060727) MIME-Version: 1.0 To: freebsd-stable@freebsd.org References: <20060824190651.GA49364@xor.obsecurity.org> <14989d6e0608241410n2b8a5fdwe98a927dea91be40@mail.gmail.com> In-Reply-To: <14989d6e0608241410n2b8a5fdwe98a927dea91be40@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [AMD64-SMP] I can't get my cpus working at 100% X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Aug 2006 03:42:17 -0000 Christian Walther wrote: > A nice example of a program being able to do threading, but one CPU > (core) only is python. This is not strictly correct: Python relies on a global interpreter lock (aka GIL) to protect internal data structures. When code in the Python process doesn't require access to these data structures, threads can run outside the influence of the lock and run simultaneously on multiple CPUs. Python's I/O system (eg file/network I/O) and many Python extensions do exactly this. -- ------------------------------------------------------------------------- Andrew I MacIntyre "These thoughts are mine alone..." E-mail: andymac@bullseye.apana.org.au (pref) | Snail: PO Box 370 andymac@pcug.org.au (alt) | Belconnen ACT 2616 Web: http://www.andymac.org/ | Australia