diff mbox series

kvm: Move KVM_GET_XSAVE2 IOCTL definition at the end of kvm.h

Message ID 20220128154025.102666-1-frankja@linux.ibm.com (mailing list archive)
State New, archived
Headers show
Series kvm: Move KVM_GET_XSAVE2 IOCTL definition at the end of kvm.h | expand

Commit Message

Janosch Frank Jan. 28, 2022, 3:40 p.m. UTC
This way we can more easily find the next free IOCTL number when
adding new IOCTLs.

Fixes: be50b2065dfa ("kvm: x86: Add support for getting/setting expanded xstate buffer")
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
---
 include/uapi/linux/kvm.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Wang, Wei W Jan. 29, 2022, 1:35 a.m. UTC | #1
On Friday, January 28, 2022 11:40 PM, Janosch Frank wrote:
> This way we can more easily find the next free IOCTL number when adding
> new IOCTLs.

Yes, this is good, but sometimes the relevant code tend to be put together (e.g. ioctl for vm fd and ioctls for vcpu fds), so not necessary to force them to be put in the number order.
I think it would be better to record the last used number in the comment on top, and new additions need to update it (similar to the case that we update the api doc):

diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
index 9563d294f181..b7e5199ec47e 100644
--- a/include/uapi/linux/kvm.h
+++ b/include/uapi/linux/kvm.h
@@ -6,6 +6,9 @@
  * Userspace interface for /dev/kvm - kernel based virtual machine
  *
  * Note: you must update KVM_API_VERSION if you change this interface.
+ *
+ * Last used cap number: KVM_CAP_XSAVE2(208)
+ * Last used ioctl number: KVM_HAS_DEVICE_ATTR(0xe3)
  */

 #include <linux/const.h>

Thanks,
Wei
Janosch Frank Jan. 31, 2022, 6:28 a.m. UTC | #2
On 1/29/22 02:35, Wang, Wei W wrote:
> On Friday, January 28, 2022 11:40 PM, Janosch Frank wrote:
>> This way we can more easily find the next free IOCTL number when adding
>> new IOCTLs.
> 
> Yes, this is good, but sometimes the relevant code tend to be put together (e.g. ioctl for vm fd and ioctls for vcpu fds), so not necessary to force them to be put in the number order.
> I think it would be better to record the last used number in the comment on top, and new additions need to update it (similar to the case that we update the api doc):

It's not only the fact that it's not at the end, it's also in the middle 
of a block of s390 IOCTLs which are not relevant for this x86 IOCTL.

Allowing an arbitrary order makes searching and adding harder. Imagine 
we'd start grouping capabilities. Let's not go there.

> 
> diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
> index 9563d294f181..b7e5199ec47e 100644
> --- a/include/uapi/linux/kvm.h
> +++ b/include/uapi/linux/kvm.h
> @@ -6,6 +6,9 @@
>    * Userspace interface for /dev/kvm - kernel based virtual machine
>    *
>    * Note: you must update KVM_API_VERSION if you change this interface.
> + *
> + * Last used cap number: KVM_CAP_XSAVE2(208)
> + * Last used ioctl number: KVM_HAS_DEVICE_ATTR(0xe3)
>    */
> 
>   #include <linux/const.h>
> 
> Thanks,
> Wei
>
Paolo Bonzini Jan. 31, 2022, 2:22 p.m. UTC | #3
On 1/28/22 16:40, Janosch Frank wrote:
> This way we can more easily find the next free IOCTL number when
> adding new IOCTLs.
> 
> Fixes: be50b2065dfa ("kvm: x86: Add support for getting/setting expanded xstate buffer")
> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
> ---
>   include/uapi/linux/kvm.h | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
> index 9563d294f181..efe81fef25eb 100644
> --- a/include/uapi/linux/kvm.h
> +++ b/include/uapi/linux/kvm.h
> @@ -1623,9 +1623,6 @@ struct kvm_enc_region {
>   #define KVM_S390_NORMAL_RESET	_IO(KVMIO,   0xc3)
>   #define KVM_S390_CLEAR_RESET	_IO(KVMIO,   0xc4)
>   
> -/* Available with KVM_CAP_XSAVE2 */
> -#define KVM_GET_XSAVE2		  _IOR(KVMIO,  0xcf, struct kvm_xsave)
> -
>   struct kvm_s390_pv_sec_parm {
>   	__u64 origin;
>   	__u64 length;
> @@ -2047,4 +2044,7 @@ struct kvm_stats_desc {
>   
>   #define KVM_GET_STATS_FD  _IO(KVMIO,  0xce)
>   
> +/* Available with KVM_CAP_XSAVE2 */
> +#define KVM_GET_XSAVE2		  _IOR(KVMIO,  0xcf, struct kvm_xsave)
> +
>   #endif /* __LINUX_KVM_H */

Queued, thanks.
diff mbox series

Patch

diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
index 9563d294f181..efe81fef25eb 100644
--- a/include/uapi/linux/kvm.h
+++ b/include/uapi/linux/kvm.h
@@ -1623,9 +1623,6 @@  struct kvm_enc_region {
 #define KVM_S390_NORMAL_RESET	_IO(KVMIO,   0xc3)
 #define KVM_S390_CLEAR_RESET	_IO(KVMIO,   0xc4)
 
-/* Available with KVM_CAP_XSAVE2 */
-#define KVM_GET_XSAVE2		  _IOR(KVMIO,  0xcf, struct kvm_xsave)
-
 struct kvm_s390_pv_sec_parm {
 	__u64 origin;
 	__u64 length;
@@ -2047,4 +2044,7 @@  struct kvm_stats_desc {
 
 #define KVM_GET_STATS_FD  _IO(KVMIO,  0xce)
 
+/* Available with KVM_CAP_XSAVE2 */
+#define KVM_GET_XSAVE2		  _IOR(KVMIO,  0xcf, struct kvm_xsave)
+
 #endif /* __LINUX_KVM_H */