From owner-freebsd-current@FreeBSD.ORG Tue Feb 27 20:18:11 2007 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 966CC16A403 for ; Tue, 27 Feb 2007 20:18:11 +0000 (UTC) (envelope-from kip.macy@gmail.com) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.186]) by mx1.freebsd.org (Postfix) with ESMTP id C777713C494 for ; Tue, 27 Feb 2007 20:18:10 +0000 (UTC) (envelope-from kip.macy@gmail.com) Received: by nf-out-0910.google.com with SMTP id k27so290597nfc for ; Tue, 27 Feb 2007 12:18:09 -0800 (PST) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=EspiVLbBK8oxyhgKJr6PyfTLUr41Kw5f3SfeM5+KKu+J6InQS6FfeUc6GRIYARYOlMgDEpccbrhYBMdkNY99EcShiSeF+1s3Fk/iZjwOSM1nImik3F8pke/Mwq6efCWEWmV/jnTH1+0C6WmL/prAZwnbdAatytUC6T5Va7JoSGE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=Ym2QcVA3vlvlgO4mht8zsLR/nqcEZYFRoVDdEU5BSTNa4YEmLpMiOkaXZ1xL4xXQs7Wnxako5f6Y3NhOMdpfgaptH06rqWYTbJM0A2qa1WGefyLStm1eG++M4KhyxU7GBVUIw2FFXfHstBZzVTR5JFk63cCuGncf5j7QDFvo6tg= Received: by 10.82.113.6 with SMTP id l6mr2294000buc.1172607489713; Tue, 27 Feb 2007 12:18:09 -0800 (PST) Received: by 10.82.151.15 with HTTP; Tue, 27 Feb 2007 12:18:09 -0800 (PST) Message-ID: Date: Tue, 27 Feb 2007 12:18:09 -0800 From: "Kip Macy" To: "John Baldwin" In-Reply-To: <200702271515.08052.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200702271515.08052.jhb@freebsd.org> Cc: freebsd-current@freebsd.org Subject: Re: HEADSUP ABI breakage for future LOCK_PROFILING + non-LOCK_PROFILING usage X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 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, 27 Feb 2007 20:18:11 -0000 Good point about the struct mtx being embedded in arbitrary places in structures. I'll need to rethink. On 2/27/07, John Baldwin wrote: > On Tuesday 27 February 2007 01:30, Kip Macy wrote: > > The following change will go in shortly unless I hear a good reason > > not to do so. > > > > -Kip > > > > 200702246: > > The lock_profile_object in the lock_object has been moved to the > > bottom and lock_object ha been moved to the end of all synchronization > > primitives so that a kernel compiled without LOCK_PROFILING will > > work with modules that are compiled with it. It also gets us closer > > to having a kernel compiled with LOCK_PROFILING work with modules > > compiled without. The kernel and all modules will need to be > > re-compiled. > > The kernel + modules compiled together should already work if LOCK_PROFILING > is defined when the modules are built, and the new kernel build glue is > supposed to do that for you already. > > However, this won't help with mixing the PROFILING and non-PROFILING cases > because 'struct mtx' will still be variant sized and several structures > have 'struct mtx' embedded in them (most notably struct proc) and having > 'struct mtx' change size breaks the ABI because the offsets of all the > members after 'p_mtx' change. E.g. all the p->p_vmspace offsets would be > different in the LOCK_PROFILING vs non-LOCK_PROFILING kernels. > > Also, this would break the ddb 'show lock' command, though that may be less > important. > > -- > John Baldwin >