From owner-svn-src-all@FreeBSD.ORG Tue Jan 26 18:39:58 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ECAFB106566C; Tue, 26 Jan 2010 18:39:58 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from asmtpout023.mac.com (asmtpout023.mac.com [17.148.16.98]) by mx1.freebsd.org (Postfix) with ESMTP id C69DE8FC0C; Tue, 26 Jan 2010 18:39:58 +0000 (UTC) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; charset=us-ascii Received: from macbook-pro.jnpr.net (natint3.juniper.net [66.129.224.36]) by asmtp023.mac.com (Sun Java(tm) System Messaging Server 6.3-8.01 (built Dec 16 2008; 32bit)) with ESMTPSA id <0KWV00IL9AILH530@asmtp023.mac.com>; Tue, 26 Jan 2010 10:39:58 -0800 (PST) X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 ipscore=0 phishscore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx engine=5.0.0-0908210000 definitions=main-1001260135 From: Marcel Moolenaar In-reply-to: <3bbf2fe11001260339u7a694069m6a2bb7e18b2c546a@mail.gmail.com> Date: Tue, 26 Jan 2010 10:39:57 -0800 Message-id: References: <201001231554.o0NFsMbx049837@svn.freebsd.org> <201001251456.32459.jhb@freebsd.org> <3bbf2fe11001260058i65604619l664bd0e49c1dbbd@mail.gmail.com> <3bbf2fe11001260339u7a694069m6a2bb7e18b2c546a@mail.gmail.com> To: Attilio Rao X-Mailer: Apple Mail (2.1077) Cc: src-committers@freebsd.org, John Baldwin , svn-src-all@freebsd.org, Marcel Moolenaar , svn-src-head@freebsd.org, Warner Losh Subject: Re: svn commit: r202889 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Jan 2010 18:39:59 -0000 On Jan 26, 2010, at 3:39 AM, Attilio Rao wrote: >>> >>> Does this affect the various #ifdef's for handling the third argument to >>> cpu_switch()? E.g. does 4BSD need to spin if td_lock is &blocked_lock? >>> > > I think that ia64 is broken on that regard because it does use simple > operation while it should use correct atomic and memory barriers > (CC'ed marcel@ for that). Ok, so cpu_switch() handles the 3rd argument (the mutex) only when SCHED_ULE and SMP are defined, even on i386. Maybe it's just me, but if SCHED_4BSD now also uses the 3rd argument then all implementations of cpu_switch() are broken, right? Maybe what is in order right now is a description (using pseudo code if you like) of what exactly needs to happen with the 3rd argument, when and how (i.e. what must be atomic and what does not have to be atomic). I can deal with ia64 and powerpc once I know for certain what exactly needs to happen, because it seems to me that I can't really look at the i386 implementation and infer what needs to happen. Thanks, -- Marcel Moolenaar xcllnt@mac.com