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

Re: [PATCH v6 1/9] xen: move do_vcpu_op() to arch specific code


  • To: Juergen Gross <jgross@xxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Mon, 27 Jun 2022 12:28:18 +0200
  • 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=MxGVPXuC/atwh/Z9xRoEJ7fhFahrpsLfKel2SZ+3ZaE=; b=jSOjLWqnFFRylnbQLbYba/9g1FTmG2H47/QvwjvhuCotI5yFprHcdI6bI72kpo+tPrMO2F6jU5dRZ0AUdsN3s07vwGxoD0B9l4d6AmmPZTlP/O5tUuQoKQURVRyJfInZn/8ImRofzGZNOjVYQo3rk6+z/Hm8DM783IXgPJ8LsdChMlRki1RZ6NkKxVhtC7qpiw3U0n/4wZSijRUOLMKX4M6Lt9hFj7Qva4HoxRZCQYnaTr7yWf4QmQNvU2QgPlnPpnxYJ2+TWX5aGCoW9cob6U+lyYL1eoay1+gKv+TTUq8w/fVE9QVW8cHMozZP4wxVzYYYfVIngy1zuDDvWOII8Q==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E6vmPTIeJwOTEP7W53XZe3nlAmOBj69FX0eR9RmnKWJsSMB8Qk8x9IIwuZf6cvsUk0WQVlIuN99TNV1vbVMkWyqweEZVOghfiTWoSpzyKo04DrnPO3pRp9oDUA4VLUMIGUhBbadIiRAas/sHtooeZCZy0xY53KK+vfiB9YhZEdTHcIpz+vRqeVBmWdgueygKFzWpY9ODvyhRMosFaIhuNEYq4YaHNxtf9mGzPjlQ9rw1jbaOV77m9g4AhQ/NoJNSqb21JvaEttGAOIzhjj/io06ydbemM3iJTzc/ES/SfI4onRs9y4x9IBneUqYFCpds4KTZztTf2hHeTR8Pk4vFaQ==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Wei Liu <wl@xxxxxxx>, Julien Grall <jgrall@xxxxxxxxxx>
  • Delivery-date: Mon, 27 Jun 2022 10:28:51 +0000
  • Ironport-data: A9a23:TNfAlayLDQjVhM1SCx56t+fBxyrEfRIJ4+MujC+fZmUNrF6WrkUAz WQWX2qBa/6NajfxLt0lYdm3oE0P75PRmIA1QAJspCAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx 59DAjUVBJlsFhcwnj/0bv656yMUOZigHtIQMsadUsxKbVIiGX1JZS5LwbZj2NY224fhWmthh PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ Npll6KvRCUyMof1se0cCUUAIQtdYYxf0eqSSZS/mZT7I0zuVVLJm6krKX5seIoS96BwHH1E8 uEeJHYVdBefiumqwbW9DO5xmsAkK8qtN4Qa0p1i5WiBUbB6HtacGOOTuoQwMDQY36iiGd7EY MUUc3x3ZQnoaBxTIFYHTpk5mY9Eg1GgL2wA9gjE/MLb5UDc41R+2ZHRFubcZ9+oSPtvw1iqn zjZqjGR7hYycYb3JSC+2nCjnOjUhgvgRZkfUra/85ZCkFCVg2AeFhASfV+6uuWizF6zXcpFL E4Z8TZoqrI9nGSwVcX0VRC8pH+CvzYfVsBWHul87xuCooLW/gKYC24sXjNHLts8u6ceTzEwy kWAmd+vADV1qaCUUlqU7LLSpjS3UQArKmsFaT4BXBEyydDpq4EujTrCVt9mVqWyi7XdGzv93 jSLpygWnKgIgIgA0KDT1U/DqyKhoN7OVAFdzgfYRGuh6itwYYe3YIru4l/ehcusN66cR1iF+ X0bwc6X6bhSCYnXzXPWBuIQALuu+vCJdiXGhkJiFIUg8DLr/GO/eYdX43d1I0IB3ts4RAIFq XT74Wt5jKK/9lP1BUOrS+pd0/gX8JU=
  • Ironport-hdrordr: A9a23:2yZwta6FYeor3YNlDwPXwS2BI+orL9Y04lQ7vn2ZFiY5TiXIra qTdaogviMc6Ax/ZJjvo6HkBEClewKlyXcV2/hpAV7GZmXbUQSTTL2KgbGSoAEIXheOjdK1tp 0QD5SWaueAamSS5PySiGfYLz9j+qjgzEnBv5ai854Hd3APV0gP1XYaNu7NeXcGPjWuSKBJY6 a0145inX6NaH4XZsO0Cj0sWPXCncTCkNbDbQQdDxAqxQGShXfwgYSKWiSw71M7aXdi0L0i+W /Kn0jQ4biiieiyzlv523XI55pbtdP9wp9oBdCKiOISNjLw4zzYErhJavmnhnQYseuv4FElnJ 3lpAohBd167zfrcmS8sXLWqnvd+Qdrz0Wn5U6TgHPlr8C8bik9EdB9iYVQdQacw1Y8vflnuZ g7kl6xht5yN1ftjS7979/HW1VBjUyvu0cvluYVkjh2TZYeUrlMtoYSlXklWqvoJBiKp7zPLd MeQv01vJ1tABKnhjHizyJSKeWXLzgO9kzseDlDhiSXuwIm70yRgXFoh/D3pU1wiq7Ve6M0mN gsDZ4Y5Y2mbvVmGJ6VV91xNfefOyjqfS/mFl60DBDOKJwnUki926Ifpo9FrN2XRA==
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Thu, Mar 24, 2022 at 03:01:31PM +0100, Juergen Gross wrote:
> The entry point used for the vcpu_op hypercall on Arm is different
> from the one on x86 today, as some of the common sub-ops are not
> supported on Arm. The Arm specific handler filters out the not
> supported sub-ops and then calls the common handler. This leads to the
> weird call hierarchy:
> 
>   do_arm_vcpu_op()
>     do_vcpu_op()
>       arch_do_vcpu_op()
> 
> Clean this up by renaming do_vcpu_op() to common_vcpu_op() and
> arch_do_vcpu_op() in each architecture to do_vcpu_op(). This way one
> of above calls can be avoided without restricting any potential
> future use of common sub-ops for Arm.

Wouldn't it be more natural to have do_vcpu_op() contain the common
code (AFAICT handlers for
VCPUOP_register_{vcpu_info,runstate_memory_area}) and then everything
else handled by the x86 arch_do_vcpu_op() handler?

I find the common prefix misleading, as not all the VCPUOP hypercalls
are available to all the architectures.

Thanks, Roger.



 


Rackspace

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