Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp4032584pxf; Mon, 29 Mar 2021 19:25:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyVabagUJ2O3NR0zUY7wFOG5+uqYFQ0eLFX+UW4mwCEPHrKB/DR5a1qLy2bAqbtNvjAqTQc X-Received: by 2002:a17:907:3ea0:: with SMTP id hs32mr30543047ejc.411.1617071133924; Mon, 29 Mar 2021 19:25:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617071133; cv=none; d=google.com; s=arc-20160816; b=HSwWdA+nSJ/khM/qLI60Uhl+beGAeM8kX/Hpf+/RRr48RLnoyRZdAjefVuUymMFmbd 4zBv6aZxGtGeyGnxA2FSk5w5gdeoBS6sf4UPuep65GIyS/sf0UuqChwSF2lZI5zVWhPt f/7eFblZKz8vwSB+1dCdANv0Zg6eI9Q3vKnT/InUMk8+oX7YpJisQpRITVg1aPGXp0df 1O+Thz9QaYnBKl5xONHO1N4FlX66ufnRgNU+mNf1gzsgufYani0ZUIq0kUI68sW4/9fE cXLzWs1BWNERiYLhcec7JfV4R8VTVE4smsQLMJPZ4vfqQ8GKIP8xQeG6cINRjP0ZM/V8 RcBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to :mime-version:user-agent:date:message-id:from:cc:references:to :subject; bh=xkCyMTP+0PMXn19dSl8iQFiQp1TwK7JlT+u6zB96Twk=; b=ILGFDskWKPD4U3EVmKhvUv9ilbe/s2PgpD0mbsUZQzJ/LLpJAR/Fa+Tbo6WBh9kKO0 Aw6HX15XnPwt7mqSqdj135+wgWrb9tGygXGKFkjmUOQZPoaPd1DxglrbcIYDxNaaT1Mo 5e5BEW7nfyXuyl81Np8d1m/MxoypzDETPXBgzD7OxWR20h0Cll0BPP3EM0UDrOo8p7Kc qVvaVYFYf3fzkghGszdVShxgX9KABdZ20n1orC0vdDNUtgQt7qu1kf4c5KrErCcv3Dy4 wiZ5dI8grc50Is48AnXa1Bq0vRoXRY9Sqqb9umdACLWoqHCFbBADpVzYMoihrvito3tT qmXg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c12si13672654edq.130.2021.03.29.19.25.11; Mon, 29 Mar 2021 19:25:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230421AbhC3CXz (ORCPT + 99 others); Mon, 29 Mar 2021 22:23:55 -0400 Received: from szxga04-in.huawei.com ([45.249.212.190]:14189 "EHLO szxga04-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230089AbhC3CX0 (ORCPT ); Mon, 29 Mar 2021 22:23:26 -0400 Received: from DGGEMS409-HUB.china.huawei.com (unknown [172.30.72.60]) by szxga04-in.huawei.com (SkyGuard) with ESMTP id 4F8Y8C1lbrzmc49; Tue, 30 Mar 2021 10:20:43 +0800 (CST) Received: from [127.0.0.1] (10.40.192.162) by DGGEMS409-HUB.china.huawei.com (10.3.19.209) with Microsoft SMTP Server id 14.3.498.0; Tue, 30 Mar 2021 10:23:16 +0800 Subject: Re: [PATCH v2 04/15] ACPI: table: replace __attribute__((packed)) by __packed To: David Laight , "rjw@rjwysocki.net" , "lenb@kernel.org" , "rui.zhang@intel.com" , "bhelgaas@google.com" References: <1616831193-17920-1-git-send-email-tanxiaofei@huawei.com> <1616831193-17920-5-git-send-email-tanxiaofei@huawei.com> <6df04be78e544e17b3b57f159312541f@AcuMS.aculab.com> CC: "linux-acpi@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-pci@vger.kernel.org" , "linuxarm@openeuler.org" From: Xiaofei Tan Message-ID: <34dd3de8-644d-6e44-965a-0991b7027cae@huawei.com> Date: Tue, 30 Mar 2021 10:23:16 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: <6df04be78e544e17b3b57f159312541f@AcuMS.aculab.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.40.192.162] X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi David, On 2021/3/29 18:09, David Laight wrote: > From: Xiaofei Tan >> Sent: 27 March 2021 07:46 >> >> Replace __attribute__((packed)) by __packed following the >> advice of checkpatch.pl. >> >> Signed-off-by: Xiaofei Tan >> --- >> drivers/acpi/acpi_fpdt.c | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/acpi/acpi_fpdt.c b/drivers/acpi/acpi_fpdt.c >> index a89a806..690a88a 100644 >> --- a/drivers/acpi/acpi_fpdt.c >> +++ b/drivers/acpi/acpi_fpdt.c >> @@ -53,7 +53,7 @@ struct resume_performance_record { >> u32 resume_count; >> u64 resume_prev; >> u64 resume_avg; >> -} __attribute__((packed)); >> +} __packed; >> >> struct boot_performance_record { >> struct fpdt_record_header header; >> @@ -63,13 +63,13 @@ struct boot_performance_record { >> u64 bootloader_launch; >> u64 exitbootservice_start; >> u64 exitbootservice_end; >> -} __attribute__((packed)); >> +} __packed; >> >> struct suspend_performance_record { >> struct fpdt_record_header header; >> u64 suspend_start; >> u64 suspend_end; >> -} __attribute__((packed)); >> +} __packed; > > My standard question about 'packed' is whether it is actually needed. > It should only be used if the structures might be misaligned in memory. > If the only problem is that a 64bit item needs to be 32bit aligned > then a suitable type should be used for those specific fields. > > Those all look very dubious - the standard header isn't packed > so everything must eb assumed to be at least 32bit aligned. > > There are also other sub-structures that contain 64bit values. > These don't contain padding - but that requires 64bit alignement. > > The only problematic structure is the last one - which would have > a 32bit pad after the header. > Is this even right given than there are explicit alignment pads > in some of the other structures. > > If 64bit alignment isn't guaranteed then a '64bit aligned to 32bit' > type should be used for the u64 fields. > Yes, some of them has been aligned already, then nothing changed when add this "packed ". Maybe the purpose of the original author is for extension, and can tell others that this struct need be packed. > David > > - > Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK > Registration No: 1397386 (Wales) > > > . >