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

Re: [PATCH v2 02/70] xen/sort: Switch to an extern inline implementation


  • To: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
  • From: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
  • Date: Mon, 14 Feb 2022 18:30:01 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; 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=YPnGa282D4mKyNWlBkK6JjxN5uCYIvCYfYALP0WFong=; b=gU8a5se3XB1WEqag94fnug7GoR3oq/jROSPuL1FpTuyfV40I17n3hP1Xm32PrXbFBG2rKV4JxkTVZgMkQaNhHllaQB6NFfEqPR4tmVOQdDVjYdAPtNR+Q/wJKDydoCVIcFnAgy7+BH1gh0hkAPdIXl2R3jVKoFLeSEE0bGD3kcYj3IG8z+FipwEpaa+1ToKjY2PpARsQ6JMw8FIM8aYyOvT/P74aARDOLNxGVE75BDFekq4MjFrKksenGswnEndJy+ZXiWk8agr0VgfL8/WG3KZy6xTdvQbWF+WcCfHX/WfZmUxbddMgFOgOBZvfkdJcDdKaL0YJoabAeUCAkd/v5g==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PxZMmZro3wZedzWnztg9gGwMD6Wmy3/rdEJF50aXb6tv6EujOWUxKLznHzmeVyMetl1ZrTCVfEBUIPYdPLbcEm+dUxontgHtsG9fFlUdlvY5oREq/7VaGKnsk8HYXClbAv5RVW40V+miWU0s0oAzLdfKOzkMnlVdP5cHeEuI1oqEWQcj2ZQWzZ35evraJjK2D+++3FFEZcp8YYXbbC2Th2EjB/RBYaObN5MZ+L1uYo0/xvEkCHJ+9eA6lQL5tAjcX3gH9/DHW8Iok6nKnb9mboEkJAdYuDjNMJ3TJ8Iub6J1v5djo04F4PpICD1f65zHYMURLyGXIooqni4F7SJiGg==
  • Authentication-results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Jan Beulich <JBeulich@xxxxxxxx>, Roger Pau Monne <roger.pau@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Mon, 14 Feb 2022 18:30:19 +0000
  • Ironport-data: A9a23:5TIALqzPp4scsGmIoud6t+edwSrEfRIJ4+MujC+fZmUNrF6WrkUEy jYbCGGFPq3fYDSkctsiOdm3pk5Uv8eBzYdiSwZu+yAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wbdl2tQAbeWRWGthh /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt49P+ PNWt4LpcwMGDpfBssIGah1xQz4raMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr 6ZBbmlQMFbT3Ipaw5riIgVoru0lINPmI8U0vXZ4wCuCJf0nXYrCU+PB4towMDIY2JwTTaiOP pNxhTxHd0vtYkB9I1QrCswmn8yupUbBdzFcgQfAzUYwyzeKl1EguFT3C/LOYcCDT8hRmkeep 0rF8n7/DxVcM8aQoRKH73ati+nnjS79HoUIG9WQyPluh1GCw30JPzcfX1C7vPqRh1a3XpRUL El80jUqhbg/8gqsVNaVdze1umKetxgQHf9ZCfQn6Rqlw7DRpQ2eAwAsXjNHLdArqsIybTgrz UOS2cPkAyR1t7+YQm7b8a2bxRuQEyUIKW4JZQcfUBAIpdLkpekOYgnnF4g5VvTv15usRG+2k 2viQDUCa6s70vA78b654wn9hx2cnJXjaBUM4iyHQTfwhu9mX7KNa4ut4FndyP9PKoeFU1WM1 EQ5d9iiAPMmVs/UynHUKAkZNPTwvqvebmWA6bJ6N8R5r1yQF2ifkZe8Cd2UDGNgKY46dDDge yc/UisBtcYIbBNGgUKaCr9d6vjGL4C9T7wJtdiON7Kih6SdkyfdoklTiba4hTyFraTVufhX1 W2nWcitF20GLq9s0SC7QewQuZdymHximjODGM2jlk/9uVZ7WJJyYe1bWGZik8hjtP/UyOkr2 4o32zS2J+V3D7SlP3i/HX87JlEWN3krba0aWOQMHtNv1jFOQTl7Y9eImOtJU9U8w8x9y7eZl lngCxQw4Aeu2hX6xfCiNykLhEXHBs0k8xrW/EUEYD6V5pTUSdjzvflPL8NtJdHKNoVLlJZJc hXMQO3ZatxnQTXb4TUNK577qY1pbhOwggySeSGiZVACk1RIHmQlI/foIVni8jcgFC2yuZdsq rGszFqDE5ECWx5jHIDdb/f2lwG9un0UmeRTWUrUI4YMJBWwodYycyGh3OUqJ8wsKAnYwmfI3 QihHhpF9/LGpJU48YeViPnc/ZupCeZ3AmFTA3LfseStLSDf82f6md1AXe+EcCrzTmTx/Kn+N +xZw+ulaK8MnUpQspo6GLFulPps69zqrr5c7wJlAHSUMAj7VuI+eiGLhJAduLdMy7lVvRqNd niOotQKa6+UPM7FEUIKIFZ3ZOq0yvxJyCLZ6u44IRum6XYvrqaHS0hbIzKFlDdZcOluKIogz Oos5JwW5gi4hkZ4O9qKlHkJpWGFL3hGWKQ7rJAKRoTsj1NzmF1FZJXdDA7w4Y2ONIoQYhV7f GfMifqQnalYy2rDb2E3RCrE0udqjJgTvAxHkQ0ZLFOTl9uZ3vI60XW9K9jsoti5Gvmf799OB w==
  • Ironport-hdrordr: A9a23:d+Rna6veOFlrW6K9CJoHLktv7skC0IMji2hC6mlwRA09TyXGra 6TdaUguiMc1gx8ZJh5o6H9BEGBKUmskaKceeEqTPaftXrdyRSVxeZZnMvfKlzbamPDH4tmtJ uIHJIOcOEYYWIK7/oSpTPIburIo+P3s5xA592utEuFJDsCA8oLgmcJaTpzUHcGPjWubaBJSa Z0jfA3wAZIDE5nF/hTcUN1OdQryee78a7OUFojPVoK+QOOhTSn5PrRCB6DxCoTVDtJ3PML7X XFuxaR3NTgj9iLjjvnk0PD5ZVfn9XsjvFZAtaXt8QTIjLwzi61eYVaXaGYtjxdmpDr1L9qqq iJn/4TBbU015rjRBDtnfIr4Xi57N8a0Q6k9bZfuwq5nSW2fkNhNyMLv/MmTvKQ0TtQgDg76t MW44vRjeslMfuL9h6Nl+TgRlVkkFG5rmEllvNWh3tDUZEGYLsUtoAH+lhJea1wUR4SxbpXW9 WGNvusrsq+sGnqGEzxry1q2pihT34zFhCJTgwLvdGUySFfmDR8w1EDzMISk38c/NZlIqM0qN jsI+BtjvVDX8UWZaVyCKMIRta2EHXERVbJPHiJKVrqGakbMzbGqoLx4r8y+Oa2EaZ4gKcaid DEShdVpGQyc0XhBYmH24BK6AnERCGnUTHk2qhlltBEU33HNfPW2AG4OSUTevqb0oMi65fgKo SO0bptcoveEVc=
  • Ironport-sdr: cR/SG5TTGVBnjhNKlyM0VJjOAuOYiU7RVN+sDRV7EfpHY8XyUihdy1jaLtYbjeEplDWDCfI2/N bYsoe8e6zhIOYo7LYpJI6PVaMiWkbIaUHtsG3ZVcN3kynpNX2Df6uHcKaUEHilt2/zMbiXss41 rsH247g5Q+7KMx9LqEE5nFF4kgSho1laGfSPW9jXUUUGGx7QVcMGgQTqK94TqjSas781Po2ycl 68uNSusYsI+hSHHoalBAHiXYW7P2UAHvIa+ZWLF7KNRsSamx991kmec6+6QGwaxNiXv9bHFks7 TaKs3AXtCEVBh+OOIJ9hk4ZX
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHYIaGjy/wpq8SdQkKdLl3UHHKbD6yTBisAgABYUoA=
  • Thread-topic: [PATCH v2 02/70] xen/sort: Switch to an extern inline implementation

On 14/02/2022 13:13, Bertrand Marquis wrote:
> Hi Andrew,
>
>> On 14 Feb 2022, at 12:50, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote:
>>
>> There are exactly 3 callers of sort() in the hypervisor.  Callbacks in a 
>> tight
>> loop like this are problematic for performance, especially with Spectre v2
>> protections, which is why extern inline is used commonly by libraries.
>>
>> Both ARM callers pass in NULL for the swap function, and while this might 
>> seem
>> like an attractive option at first, it causes generic_swap() to be used, 
>> which
>> forced a byte-wise copy.  Provide real swap functions so the compiler can
>> optimise properly, which is very important for ARM downstreams where
>> milliseconds until the system is up matters.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
>> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
> Just one comment fix after, with it fixed for the arm part:
>
> Reviewed-by: Bertrand Marquis <bertrand.marquis@xxxxxxx>

Thanks.

>> diff --git a/xen/include/xen/sort.h b/xen/include/xen/sort.h
>> index a403652948e7..01479ea44606 100644
>> --- a/xen/include/xen/sort.h
>> +++ b/xen/include/xen/sort.h
>> @@ -3,8 +3,61 @@
>>
>> #include <xen/types.h>
>>
>> +/*
>> + * sort - sort an array of elements
>> + * @base: pointer to data to sort
>> + * @num: number of elements
>> + * @size: size of each element
>> + * @cmp: pointer to comparison function
>> + * @swap: pointer to swap function or NULL
> The function is not accepting anymore to have NULL as parameter.
> The comment should be fixed here.

Will fix.

~Andrew

 


Rackspace

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