From owner-svn-src-stable@FreeBSD.ORG Wed May 16 08:26:24 2012 Return-Path: Delivered-To: svn-src-stable@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 96A111065675; Wed, 16 May 2012 08:26:24 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id D56458FC08; Wed, 16 May 2012 08:26:22 +0000 (UTC) Received: from porto.starpoint.kiev.ua (porto-e.starpoint.kiev.ua [212.40.38.100]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id LAA21283; Wed, 16 May 2012 11:26:20 +0300 (EEST) (envelope-from avg@FreeBSD.org) Received: from localhost ([127.0.0.1]) by porto.starpoint.kiev.ua with esmtp (Exim 4.34 (FreeBSD)) id 1SUZYq-000NyW-Bs; Wed, 16 May 2012 11:26:20 +0300 Message-ID: <4FB364AA.2070505@FreeBSD.org> Date: Wed, 16 May 2012 11:26:18 +0300 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:12.0) Gecko/20120503 Thunderbird/12.0.1 MIME-Version: 1.0 To: Konstantin Belousov References: <201205151721.q4FHLlgq097452@svn.freebsd.org> <20120515182747.GD2358@deviant.kiev.zoral.com.ua> <4FB2B7C5.2080604@FreeBSD.org> <20120515203832.GE2358@deviant.kiev.zoral.com.ua> In-Reply-To: <20120515203832.GE2358@deviant.kiev.zoral.com.ua> X-Enigmail-Version: 1.5pre Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: svn-src-stable@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, svn-src-stable-9@FreeBSD.org Subject: Re: svn commit: r235480 - in stable/9/sys: dev/usb geom geom/mountver i386/conf kern sys X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 May 2012 08:26:24 -0000 on 15/05/2012 23:38 Konstantin Belousov said the following: > On Tue, May 15, 2012 at 11:08:37PM +0300, Andriy Gapon wrote: >> on 15/05/2012 21:27 Konstantin Belousov said the following: >>> Did you verified that there is a gap between td_lk_slocks and >>> td_blocked an all tier-1 architectures large enough to adopt >>> td_stopsched without changing the layout of struct thread after the new >>> member ? >> >> I haven't verified that. but I presumed that the gap was either 2 bytes >> on 32-bit architectures or 6 bytes on 64-bit ones. What is the proper and >> doable way of verifying this? > I think that p sizeof(struct thread) from gdb on previous and current > version of the kernel would be a good indicator. If sizes differ, it is > bad. > > To be completely sure, calculate offset of the next member in the > structure: in gdb, p &(((struct thread *)0)->td_blocked) for previous and > current kernels. This sounds a bit laborious. It really did :-) Until I realized that tier-1 is just i386 and amd64. So, I've just verified that neither the size nor the offset change on either platform. Thanks again! >> >>> If not, this breaks KBI. >> >> I can just revert the commit to not risk an obscure breakage. What would >> you suggest? > Move the new member to the end of the struct thread, and do explicit > zeroing on the thread allocation, if commit changed the layout. As Attilio said, this wouldn't be much better than just reverting the change. -- Andriy Gapon