From owner-freebsd-current@FreeBSD.ORG Tue Apr 6 04:00:12 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 AFA8416A4F8 for ; Tue, 6 Apr 2004 04:00:12 -0700 (PDT) Received: from ftp.bjpu.edu.cn (ftp.bjpu.edu.cn [202.112.78.5]) by mx1.FreeBSD.org (Postfix) with ESMTP id 02D9843D1D for ; Tue, 6 Apr 2004 04:00:12 -0700 (PDT) (envelope-from delphij@frontfree.net) Received: from localhost (localhost [127.0.0.1]) by ftp.bjpu.edu.cn (Postfix) with ESMTP id 5DC5252CA for ; Tue, 6 Apr 2004 18:59:53 +0800 (CST) Received: from ftp.bjpu.edu.cn ([127.0.0.1]) by localhost (ftp.bjpu.edu.cn [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 75724-06 for ; Tue, 6 Apr 2004 18:59:49 +0800 (CST) Received: from beastie.frontfree.net (beastie.frontfree.net [218.107.145.7]) by ftp.bjpu.edu.cn (Postfix) with ESMTP id 4EA2A529E for ; Tue, 6 Apr 2004 18:59:48 +0800 (CST) Received: from localhost (localhost [127.0.0.1]) by beastie.frontfree.net (Postfix) with ESMTP id 44D37121A9; Tue, 6 Apr 2004 18:59:47 +0800 (CST) Received: from beastie.frontfree.net ([127.0.0.1]) by localhost (beastie.frontfree.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 01461-10; Tue, 6 Apr 2004 18:59:44 +0800 (CST) Received: by beastie.frontfree.net (Postfix, from userid 1001) id 4AA0D12260; Tue, 6 Apr 2004 18:59:44 +0800 (CST) Date: Tue, 6 Apr 2004 18:59:43 +0800 From: Xin LI To: Artem Koutchine Message-ID: <20040406105943.GA2180@frontfree.net> References: <20040406071205.GA2819@frontfree.net> <001f01c41bab$ae842570$0c00a8c0@artem> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="YiEDa0DAkWCtVeE4" Content-Disposition: inline In-Reply-To: <001f01c41bab$ae842570$0c00a8c0@artem> User-Agent: Mutt/1.4.2.1i X-GPG-key-ID/Fingerprint: 0xCAEEB8C0 / 43B8 B703 B8DD 0231 B333 DC28 39FB 93A0 CAEE B8C0 X-GPG-Public-Key: http://www.delphij.net/delphij.asc X-Operating-System: FreeBSD beastie.frontfree.net 5.2-CURRENT FreeBSD 5.2-CURRENT #58: Fri Mar 19 12:18:47 CST 2004 delphij@beastie.frontfree.net:/usr/obj/usr/src/sys/BEASTIE i386 X-URL: http://www.delphij.net X-By: delphij@beastie.frontfree.net X-Location: Beijing, China X-Virus-Scanned: by Frontfree Secure Mail II at frontfree.net X-Virus-Scanned: by amavisd-new at frontfree.net cc: freebsd-current@freebsd.org Subject: Re: Qustion about being "Giant-locked" 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: Tue, 06 Apr 2004 11:00:12 -0000 --YiEDa0DAkWCtVeE4 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Apr 06, 2004 at 11:49:20AM +0400, Artem Koutchine wrote: > >> While booting i see many drivers marked > >> as [Giant-locked]. > >> Is being Giant-locked good or bad what are the > >> implications? > >It's not good if you have a computer with multiple processors. >=20 > Well, i do have dual xeon with HT (4 logical CPUs). Is there > any way to fight giant-locked drivers or i just have to wait > until the driver will be rewritten w/o Giant? Or there are > some kernel options to disable Giant lock in the drivers? You may have to wait until the driver will be fine-grainlly locked down. Giant Lock is a concept that was widely used in tradional Unix kernels. Simply speaking, having Giant Locks means that all kernel components must grab it before doing something which could not be break in (for instance, when you are have read some data and is going to update a part of it, you don't want others to read or write in the same area). In the good old days, when computers have only one processor installed, this is quite efficient. However, when SMP is going to be a standard deployment, the problem comes that your kernel won't run on all processors when some part of it have grabbed a Giant Lock. Hence we tend to use other synchronization mechanisms which will allow the kernel to run on multiple processors without blowing things up. The FreeBSD Project has a project called "SMPng project" which is focused on implementing fine-grained SMP support for the FreeBSD kernel. You can obtain detailed information here: http://www.freebsd.org/smp/ Additionally, the driver SMPng conversion progress could be tracked on this page: http://www.freebsd.org/projects/busdma/ Cheers, --=20 Xin LI http://www.delphij.net/ See complete headers for GPG key and other information. --YiEDa0DAkWCtVeE4 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQFAco2fOfuToMruuMARAiXaAJ9AZhuDt9lR59efAvL4UU9miiq89QCfc8Qt iJqlNr1TAEzFK2ub6QflD5w= =kdVZ -----END PGP SIGNATURE----- --YiEDa0DAkWCtVeE4--