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

Changing user-mode interfaces


  • To: "win-pv-devel@xxxxxxxxxxxxxxxxxxxx" <win-pv-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Rafał Wojdyła <omeg@xxxxxxxxxxxxxxxxxxxxxx>
  • Date: Tue, 28 Nov 2023 11:40:16 +0100
  • Autocrypt: addr=omeg@xxxxxxxxxxxxxxxxxxxxxx; keydata= xsBNBFH+JQwBCAC0ym1Jtm5HM2p32Nw8NDNdkhwJR1For9txOKqeYMJWBTPzGJQG9HVHdYY/ PZNfzvJkl26q1CB7JbAXVq2rSt1hn7cc4qL4BIDackJ4SEAAYbSLK82pQYUHhj18nNzZgxnn DBHpppRUA76DhSRKxEOZ+7GQAHd6H8RA0zBW+5ut0iOmglia3sOlim2yqeBRj6XaRn3RGmT9 LXQu/UrJDY52LwJGE9on1wTvw+tN4QmCipFUk6YToVbkHiyDSnNN6aRqclH0vJBZquagQ/wn aOohowIyyzbY2+GJspKEPD3J9Ov5aKe/jN13WjBYwcy+NUG9SWT+VTIi6th43mh/L3dNABEB AAHNLVJhZmHFgiBXb2pkecWCYSA8b21lZ0BpbnZpc2libGV0aGluZ3NsYWIuY29tPsLAeQQT AQIAIwUCUkHE5wIbAwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEIWi9rB2GrW7hasI AK5DFMRDqARqlOIncq0bDJbbPnScXozcVjrU2jHaA736d9eoXNixSxX+D1+4QGjgEIUJWaa6 yqGTlqgHdOMKWYoDpUsm56Utj16E/ln1hSxXxEeHL30Fyqfqfmi0mlJv4ijasfxqwoHSt+Yy cACIhm563cwCaAdaO++lrcF2O/g+KIUXo0uEx+n6c8M25gu2TC3Cxn1ZeWH+5y9rUB6ph6JV eVKAYBSdK4qDEpDwz124YcpBloh5S4Jt6pVBSbJodbP+LQyet3Gb3IMYzFa+M6SMO/6EQX8k Q0zv1axlFCFs/Wf19A+nh40fZRRL+Q/v3lY9/v7u2mY4jGvKYao+sKXOwE0EUf4lDAEIALD5 ungRVF1VnOKpNBS6xcpXw7jGX5Lh+r9fOZ9pSyqQRfD5t6yF3bjwgJBzfIJO2t/WhxlNTwZA Y3ZYA/+UBOyi9Y0axEp1L6bR42iC1tCt4kawpm+Lye4aRXdbKo/EBP6wSUiOqQ3+LLLmnaSj saAiYQWUZ3at1hOHrZZRIy3vk38rsheWURu6FQWc4VK2odEFtKD2gvw0s93Q6xbMahcWRP3M 1TWzBSlO4pbV64nXBJVtqDOOs/jQwYjkdotNWb70a2uYasPz+btS0YvW31m94zedXdKZnJN+ kP314z1q7Gv8CPfgRTqU3JonIkw69ylk2AGzeRv5oFVhRKgFlv0AEQEAAcLAXwQYAQIACQUC Uf4lDAIbDAAKCRCFovawdhq1u8wYB/9kZRnMX5gm0Yq7zdqu/K6o3EfAfYI/ZBOXSgYcb58s L1Jy+b3inq5PZQrLn7D9V5DFBBjKwthhKVK/eKCALqYuVvaiBmhHjE02xZoi1g7pvV2kj0z6 OFtF2IXO4vwtaHQhhIutVd+jjDmnSl0kYCBurOjVFmD2ZCTDQ5/JqEDU26V5i9Dwp9sImDm7 r3lBgLOKu5uWKoQRHbdxPN8FzoFfxDH+xZKubqGgvEvCsX1CjFRP7/kcGW5TrAb/rNEOG1Ik 25Qj7mjWFa6sv2jYvV1aIpCK8sKKTPeS0mRfhnqQDYqluBsOQIrSHSHbjCTkuIdSutzJyxpG xLY7n9TPT2ug
  • Delivery-date: Tue, 28 Nov 2023 10:40:31 +0000
  • Feedback-id: i409c4082:Fastmail
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>

Hello,

What is the policy on potentially breaking changes in the user-mode interface? I have some additions to the gnttab IOCTL (sharing already existing memory in addition to driver-allocated one) which require changing the xencontrol interface or adding another version similar to how the driver interfaces work.

Additionally I'd like to change how the bookkeeping of gnttab user requests is done: currently each IOCTL contains a process-unique ID as a part of the input. This ID is managed by xencontrol and that can lead to bugs if a process opens more than one xencontrol handle (IDs will be duplicated, the driver checks for that but the requests will fail).

I think I was the one who wrote that code in the first place (it has been some time... ;), but it seems like we can just remove the request IDs and xeniface would track gnttab requests by the user-mode address of the shared memory (per-process of course). I don't think it's possible to share the same region twice so that should be fine?

So since the "new" IOCTL parameters would get rid of the ID parameter (and introduce optional address parameter for memory sharing) I'm wondering what's the best way to do the change -- introducing a new version is probably the safest, but it would be a bit messy. I wonder who else besides us (ITL) even uses this code... :)

Anyway, what's your thoughts on this?

--
Rafał Wojdyła
Invisible Things Lab

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature


 


Rackspace

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