From owner-freebsd-smp Sat Nov 11 19:13:48 2000 Delivered-To: freebsd-smp@freebsd.org Received: from bingnet2.cc.binghamton.edu (bingnet2.cc.binghamton.edu [128.226.1.18]) by hub.freebsd.org (Postfix) with ESMTP id ED4BB37B479; Sat, 11 Nov 2000 19:13:39 -0800 (PST) Received: from opal (cs.binghamton.edu [128.226.123.101]) by bingnet2.cc.binghamton.edu (8.9.3/8.9.3) with ESMTP id WAA02111; Sat, 11 Nov 2000 22:13:36 -0500 (EST) Date: Sat, 11 Nov 2000 22:12:35 -0500 (EST) From: Zhiui Zhang X-Sender: zzhang@opal To: freebsd-hackers@freebsd.org, freebsd-smp@freebsd.org Subject: simple lock and the lost wakeup problem Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org I am new to SMP subject and have some questions to ask: Is the simplelock() really needed since FreeBSD is using the big giant lock and the kernel is non preemptive? Or has FreeBSD changed the big giant lock and made kernel thread preemptive? Uresha Vahalia talks about Lost Wakeup Problem (page 196), the test of the resource and sleep() has to be done atomically. Which correct mechanism should I use on FreeBSD to achieve this (avoid the lost-wakeup problem)? Any help is appreciated. -Zhihui To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message