From owner-svn-src-head@freebsd.org Tue Aug 29 14:50:35 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8B193DDD2DF; Tue, 29 Aug 2017 14:50:35 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from mail.baldwin.cx (bigwig.baldwin.cx [96.47.65.170]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6670264EED; Tue, 29 Aug 2017 14:50:34 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from ralph.baldwin.cx (c-73-231-226-104.hsd1.ca.comcast.net [73.231.226.104]) by mail.baldwin.cx (Postfix) with ESMTPSA id 935D010AF2A; Tue, 29 Aug 2017 10:50:32 -0400 (EDT) From: John Baldwin To: Maxim Sobolev Cc: Ryan Libby , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers Subject: Re: svn commit: r322969 - in head: sbin/mdconfig sys/dev/md sys/sys Date: Tue, 29 Aug 2017 07:30:19 -0700 Message-ID: <6350259.n2rmZ9RnEY@ralph.baldwin.cx> User-Agent: KMail/4.14.10 (FreeBSD/11.1-STABLE; KDE/4.14.30; amd64; ; ) In-Reply-To: References: <201708281554.v7SFs8fr014268@repo.freebsd.org> <2937323.CvTEtZnL2T@ralph.baldwin.cx> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (mail.baldwin.cx); Tue, 29 Aug 2017 10:50:32 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.99.2 at mail.baldwin.cx X-Virus-Status: Clean X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Aug 2017 14:50:35 -0000 On Monday, August 28, 2017 04:40:49 PM Maxim Sobolev wrote: > John, well, this depends on how you look at it. The padding element size is > "int", which when you account for the alignment has the nice property on > both 32 and 64-bit arches that no matter what kind of element you add > (char, short, int or void *), you only need to bring down MDNPAD by 1 to > keep the structure size the same. That's only true once. Add a second pointer and this trick won't work again on 64-bit platforms. It only worked this time by accident because there was unaccounted-for padding at the end of the structure, not on purpose. In other places in the tree where ABI is more carefully maintained we use explicit spare pointers or spare longs instead (e.g. padding in kinfo_proc). -- John Baldwin