[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 0/5] xen/wait: Improvements
- To: Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Volodymyr Babchuk <volodymyr_babchuk@xxxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>
- From: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
- Date: Mon, 18 Jul 2022 11:24:18 +0000
- Accept-language: en-GB, 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=FntpBjMvkMGMFRje2GYFr1e6BOUS7Nh45nyJstXMG/I=; b=AoqP5PpvBhd/bptuNkIquBO08Nkq58z34lSDajmMZ00933IXZtZeVqKf6KPXjJas+HPCJhizxrlM5/CZ2aGRxQaJYu+a02NIbyFnA2lbVfQleWo+BEah6CO5x8lZrI99a6BP97qdyo7P4wgvelz29WMyHgWXhaXkC6YlJi08eRjH1OqOYzT91Y8Nu9dP7dBcnp0Dmy3LkEx/B0oo3yBGDuTD+6twhdSImoApraIpoRYkt4CCS0JWRCmHIsziTdHDAJLiIO1SBjoNoGBJWjs+XvSMVrwX3MW6MF6spH9SRhww5Y8dklb46oQYwC3sibNlDXvACGflxnhox2xztNmYNA==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aGgFZAPwdLnPPIniyNl54NOC+Gy1naCSEERmTEiswCjzKlEzPAOmmmAnmUzyt8kXxuSb/P2OyCFChEOEhY8+/tqC0IeSU+TJOoLUPkR3bsWtjtp4MuLysY4r5q3GL8kR3mkj5U5/iUbKFCn1BgDu0rGPm5Nxq20JpSb8fSy/e46DerjcTE+TM4eQMOfhvS5Lo9Dx+/IzLkLKh/0h7feeVlHJC/7aC9dP09oPbNLkhYDaoiNo5nfgYbKRQrCJvXIc64orG3obWGUkp8KhFkAT+31hqv9lTbH5tY+vUhoHTCESbyjXlVNfkDF5Zn+doS/zwi7QVQkNNEXLHEbk4Y3NwQ==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
- Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- Delivery-date: Mon, 18 Jul 2022 11:24:35 +0000
- Ironport-data: A9a23:zSOSOqMer8o6Db/vrR1NlsFynXyQoLVcMsEvi/4bfWQNrUpz1jEHz 2UaXDyAMq2DMGT0eo9xYITg8hhSsZHVzYRkHAto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h ynLQoCYdKjYdleF+lH3dOCJQUBUjcmgXqD7BPPPJhd/TAplTDZJoR94kqsyj5UAbeKRWmthg vuv5ZyFULOZ82QsaDhMtPvT8EoHUMna41v0gHRvPZing3eG/5UlJMp3Db28KXL+Xr5VEoaSL woU5Ojklo9x105F5uKNyt4XQGVTKlLhFVHmZk5tc7qjmnB/Shkaic7XAha+hXB/0F1ll/gpo DlEWAfZpQ0BZsUgk8xFO/VU/r0X0QSrN9YrLFDm2fF/wXEqfFPnz/o3IU04YrcS58ovOEJj+ NcZJgoCO0Xra+KemNpXS8FKr+F6dozOA9lavXttizbEEfwhXJbPBb3Q4sNV1ysxgcYIGuvCY 80eanxkaxGojx9nYw9LTs5h2rn2wCWmG9FbgAv9Sa4fym7f1gFulpPqN8LYYIeiTsRJhEeI4 GnB+gwVBzlFaoTFl2bcqBpAgMfKwSTqdIwiNoez88FIhlm04EY2JSQZAA7TTf6RzxTWt8hkA 04e9zcqrKMy3Fe2VdS7VBq9yFaGoxodVtx4A+A8rgaXxcL8+B2FD2IJSjpAbt0Ot8IsQzEuk FiTkLvBGztrt7GETGOHwb2dpziyJCs9IHcLYGkPSg5ty9Puup0phxTDCNNqCreoj8bdECv1h TuNqUAWl7gVyMIGyai/1VTGmC634IjESBYv4QfaVX7j6Rl2DLNJfKSt4FnfqPNfdoCQSwDbu GBew5THqucTEZuKiSqBBv0XG62k7OqENzuahkNzG54m9HKm/HvLkZ1s3QyS7XxBaq4sEQIFq meI0e+NzPe/5EeXUJI=
- Ironport-hdrordr: A9a23:rGpbmqrDl5gotZUwzVrNEYEaV5uIL9V00zEX/kB9WHVpm5Oj+v xGzc5w6farsl0ssSkb6Ku90KnpewK+yXbsibNhcItKLzOWwldAS7sSobcKogeQUREWk9Qw6U 4OSdkYNDSdNzlHZIPBkXGF+rUbsZa6GcKT9IHjJh5WJGkEBZ2IrT0JczpzeXcGJjWucKBJcK Z0kfA3wgZIF052Uu2LQl0+G8TTrdzCk5zrJTQcAQQ81QWIhTS0rJbnDhmxxH4lInJy6IZn1V KAvx3y562lvf3+4ATbzXXv45Nfn8ak4sdfBfaLltMeJlzX+0aVjcVaKv6/VQIO0aSSAWUR4Z 3xStAbToNOAkbqDyOISN3Wqk/dOXgVmibfIBSj8AbeSITCNU4H4ox69Mxkm1LimjQdVJsX6t M140uJ85VQFh/OhyL7+pzBUAxrjFO9pT44nfcUlGE3a/pWVFZ9l/1pwKpuKuZ3IAvqrIQ8VO V+BsDV4/hbNVuccnDCp2FqhNihRG46EBuKSlUL/pX96UkcoFlpi08DgMAPlHYJ85wwD5FC+u TfK6xt0LVDVNUfY65xDPoIBcG3FmvOSxTRN3/6GyWuKIgXf3bW75Ln6rQ84++nPJQO0ZspgZ zEFEhVsGYjEnieffFmHKc7hywlbF/NLQgFkPsulqSRkoeMN4bDIGmEVE0kldemrrEWHtDbMs zDSq5rPw==
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Thread-index: AQHYmnal+A9Ge6gxZ0OfQ7bAaTJTN62D+WeAgAADgYA=
- Thread-topic: [PATCH 0/5] xen/wait: Improvements
On 18/07/2022 12:11, Jan Beulich wrote:
> On 18.07.2022 09:18, Andrew Cooper wrote:
>> This started out as patch 2 for a different task, and quickly identified some
>> technical debt, long overdue for cleaning up.
>>
>> Andrew Cooper (5):
>> xen/wait: Drop vestigial remnants of TRAP_regs_partial
>> xen/wait: Extend the description of how this logic actually works
>> xen/wait: Minor asm improvements
>> xen/wait: Use relative stack adjustments
>> xen/wait: Remove VCPU_AFFINITY_WAIT
> While going through this series I came to notice that we build wait.c even
> on Arm, and I couldn't convince myself that wait_event() is actually not
> reachable there when e.g. there's an Arm-specific vm_event.c. I would
> generally prefer if non-functioning code paths were actually compiled out.
>
> Thoughts?
I've been wanting to delete wait.c fully for a long time.
It is only needed because the event/paging/access interfaces still use a
single 4k shared ring, and even then, only when you happen to fill the
4k ring, which is 11 vCPUs on x86 last I checked.
I could easily believe that limit has never been tripped on ARM.
There are plenty of perf wins to be had by building a new Xen=>agent
interface using acquire_resource, which include being able to guarantee
that we never need to pause a vCPU to wait for space in the ring to post
a event.
With the interface fixed, wait.c ceases to have any use whatsoever.
~Andrew
|