[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 4/6] xen: Switch to byteswap


  • To: Julien Grall <julien@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Lin Liu (刘林) <lin.liu@xxxxxxxxxx>
  • Date: Wed, 11 May 2022 06:30:18 +0000
  • Accept-language: zh-CN, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PsMDPhkf7hpkp4E2x/aTlXYhIAKY0+sqxGm/yPQjrpA=; b=Jl4N9IPWNVD+xy0ktqwLba2tmSogNNK24apmCIqOcQDb7fAhJ3k8730jGM/aPlvXuSIJly1P6XKN01hIDG6AYW0OS9HTkehWzvwnwUoQ1wOd62sBl7qhNeuOryd2dTOyjJ2rPu1hq0tmzbP5Cuz3zbGyk2sg+MF4pNd8YQno6ltoto/MMvRQhOoppx/vKDJYm25kraNpjfdBgOTEhAH5Xxuo18QujEBKRTWxSIM3CVkOMAOnP8EU01hm4bu7GFmbv+BQXPR55jm2F8V9yYvuAQkus45YQihvSEymm6ELZq9qBU5u9bFeq1tCnAq0HynDp7sM8zdhgAFjSXJ+dnslmg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bOcqn5i9vkgFXDHWy4MTe6juThZx0BWTlUoj/S4QiVwqNPcK3BctUY8IPwZE3cfvzk6537aRaDBJYe6cGNEH+7EihycE/DiKTQUgrshzhsGY983BKyDE8GyzunBTNLT6SCWkNNjwdtSYgQ0Up4qXSDofGD2E+GED33KlptPm9xY6RXd7gC8jqtZ7chmW/4g9VEvNT7bGK9UFPJAFImQJceo68Oo3obD/4OX+r2WSFsx/xQoZxKiIjeaZBSt9QtgSRpzeNclukrjWyJe8LfIjvDgfjjCINU/3u54zOXC4l8cmyJwDWWSZBB/OltSj4FYr2b0/TsRrhW4asAnosfzRFg==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>, Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>, George Dunlap <George.Dunlap@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Wei Liu <wl@xxxxxxx>
  • Delivery-date: Wed, 11 May 2022 06:30:46 +0000
  • Ironport-data: A9a23:msIuUKIBdS5ffLL2FE+Rw5QlxSXFcZb7ZxGr2PjKsXjdYENS0zYCx jMcUG3UMvqONjb9KtF1b4XjoE9TsMDXyIdqHFdlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s q3yv/GZdJhcokf0/0vrav67xZVF/fngqoDUUYYoAQgsA149IMsdoUg7wbRh39cx2YHR7z6l4 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4 MsV7o21blYsApL3tbkYbyt9FntzYoQTrdcrIVDn2SCS52vvViK1htlLUgQxN4Be/ftrC2ZT8 /BeMCoKch2Im+OxxvS8V/VogcMgasLsOevzuFk5lW2fUalgHM+FGvqWjTNb9G5YasRmGffYI c4YdBJkbQjaYg0JMVASYH47tLjw2iKnLmcJwL6TjYMuw1TMljFN64HWIOXnXvfWbMFq3UnN8 woq+Ey8WHn2Lue3yyeB83+qrv/Cm2X8Qo16PK218LtmjUOewkQXCQYKTh2rrP+hkEm8VtlDb UsO9UIGtrMu/UamSt38WRyQo3OeuBMYHd1KHIUS6guA167V6AaxHXUfQ3hKb9lOnNAybSwn0 BmOhdyBONB0mLicSHbY+rLKqzq3YHERNTVbOnNCShYZ6d7+po11lgjIUttoDK+yiJvyBC30x DeJ6iM5gt3/kPI26klyxnif6xrEm3QDZlVdCtn/No590j5EWQ==
  • Ironport-hdrordr: A9a23:fOHhIKgvo5dW668Cq5GGN7dpY3BQX2913DAbv31ZSRFFG/FwyP rCoB1L73XJYWgqM03IwerwQ5VpQRvnhP1ICPoqTM2ftWjdySGVxeRZgbcKrAeQfBEWmtQ96U 4kSdkHNDSSNyk2sS+Z2njfLz9I+rDun86VbKXlvg5QpGpRGsNdBnJCe2Km+zpNNWx77PQCdK a0145inX6NaH4XZsO0Cj0uRO7YveDGk5rgfFovGwMnwBPmt0Lm1JfKVzyjmjsOWTJGxrkvtU LflRbi26mlu/anjjfBym7o6YhMkteJ8KoMOCXMsLlVFtzfsHfqWG1TYczBgNnzmpDr1L8eqq iNn/7nBbU215qeRBDznfKn4Xic7N9n0Q6f9bbfuwqunSWxfkNEN+NRwY1eaRfX8EwmoZV117 9KxXuQs95NAQrHhzmV3amAa/hGrDvCnZMZq59ks5Wfa/psVJZB6YgEuE9FGpYJGyz3rIghDe l1FcnZoPJba0mTYXzVtnRmhIXEZAV5Ij6WBkwZ/sCF2Tlfm350i0Me2cwEh38FsJYwUYNN6e jIOrlh0LtOUsgVZ6RgA/ppe7r+NkXdBRbXdG6CK1XuE68Kf3rLtp7s+b0woPqnfZQZpaFC7K gpkGkowFLaV3ieePFmhqc7jCwlaF/NLQjF24VZ+4VzvKH6Sf7iLTCDIWpe4fednw==
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHYZFbwMAUPLb2cVkOFb20aHHYzoa0X7v0AgAFIaw0=
  • Thread-topic: [PATCH v3 4/6] xen: Switch to byteswap

Subject: Re: [PATCH v3 4/6] xen: Switch to byteswap

Hi,

On 10/05/2022 11:15, Lin Liu wrote:
> Update to use byteswap to swap bytes.
>
> No functional change.
>
> Signed-off-by: Lin Liu <lin.liu@xxxxxxxxxx>
> ---
> Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> Cc: Julien Grall <julien@xxxxxxx>
> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> Cc: George Dunlap <george.dunlap@xxxxxxxxxx>
> Cc: Jan Beulich <jbeulich@xxxxxxxx>
> Cc: Wei Liu <wl@xxxxxxx>
> Changes in v3:
> - Update xen/common/device_tree.c to use be32_to_cpu
> - Keep const in type cast in unaligned.h
> ---
>   xen/common/device_tree.c           | 44 +++++++++++++++---------------
>   xen/common/libelf/libelf-private.h |  6 ++--
>   xen/common/xz/private.h            |  2 +-
>   xen/include/xen/unaligned.h        | 24 ++++++++--------
>   4 files changed, 38 insertions(+), 38 deletions(-)
>
> diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
> index 4aae281e89..70d3be3be6 100644
> --- a/xen/common/device_tree.c
> +++ b/xen/common/device_tree.c
> @@ -171,7 +171,7 @@ bool_t dt_property_read_u32(const struct dt_device_node *np,
>       if ( !val || len < sizeof(*out_value) )
>           return 0;
>  
> -    *out_value = be32_to_cpup(val);
> +    *out_value = be32_to_cpu(*val);

> This code has been taken from Linux and I would rather prefer to keep
>the *cpup* helpers to avoid any changes when backporting.

> diff --git a/xen/include/xen/unaligned.h b/xen/include/xen/unaligned.h
> index 0a2b16d05d..16b2e6f5f0 100644
> --- a/xen/include/xen/unaligned.h
> +++ b/xen/include/xen/unaligned.h
> @@ -20,62 +20,62 @@
>  
>   static inline uint16_t get_unaligned_be16(const void *p)
>   {
> -     return be16_to_cpup(p);
> +     return be16_to_cpu(*(const uint16_t *)p)

> I haven't checked the existing implementation of be16_to_cpup().
> However, this new approach would allow the compiler to use a single load
> instruction to read the 16-bit value from memory. So this change may
> break on platform where unaligned access is forbidden (such as arm32).

>   }
>  
>   static inline void put_unaligned_be16(uint16_t val, void *p)
>   {
> -     *(__force __be16*)p = cpu_to_be16(val);
> +     *(__be16 *)p = cpu_to_be16(val);

>> Why did you drop the __force?

 

Google told me __force is used in linux kernel to suppress warning in sparse,

https://stackoverflow.com/questions/53120610/what-does-the-attribute-force-do

Is sparse also used in xen?



>   }
>



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.