[vbox-dev] vgdrvIoCtl_CancelAllWaitEvents inconsistent behavior ?

Michael Thayer michael.thayer at oracle.com
Wed Jul 5 15:57:38 UTC 2017

Hello Hans,

05.07.2017 15:55, Hans de Goede wrote:
> On 05-07-17 12:14, Michael Thayer wrote:
[Discussion of CANCEL_ALL_WAITEVENTS use in seamless.cpp.]
I believe your reading of the code was correct and mine not.  As per my
last message though, see r67796[1], r67798[2] and r67802[3].  As I
mentioned, this would be the time to get more API clarifications in,
which should help reduce your work.

[1] https://www.virtualbox.org/changeset/67796/vbox
[2] https://www.virtualbox.org/changeset/67798/vbox
[3] https://www.virtualbox.org/changeset/67802/vbox

>> Which brings us back to the question of ABI stability.  If something
>> like this were to pop up after you had released your code, I would
>> expect to handle it by announcing that it is deprecated and changing the
>> ABI later, say in the next major release.  Does that seem reasonable to
>> you, or too short?
> Since we're talking kernel ABI here now, you would need to align it
> to the kernel cycle, not vbox major releases. I would expect a deprecation
> like this to take at least a year, so put a note on the deprecation in:
> linux/Documentation/ABI/obsolete/ioctl-vboxguest and add a deprecation
> date,
> then once that date is past you can merge a patch upstream removing the
> backward compat stuff / enforcing new behavior and that will then get
> merged and released in the next kernel cycle, assuming there are no
> objections.
Time scale objection noted, but surely the rest would be the
responsibility for whoever is maintaining the in-kernel driver (I have a
bit of trouble calling it the "upstream" one).  I can justify spending
time on the in-kernel version of vboxvideo, but I don't think my
managers would be very happy if I were to do the same for vboxguest.

> I've finished converting the event WaitList to a standard Linux
> wait_queue, the cleanup is not that big (yet) because I still need
> to convert the HGCM WaitList also, after that all the WaitList
> code can be removed which should be a nice cleanup.
> If you want to check my work see:
> https://github.com/jwrdegoede/vboxguest/commit/dce610f4b4af6b9ad14c466cca71d0501460b2cd
> Note it is probably easier to use the diff to see where the changes are
> and then just look at the new file, as I've basically rewritten a couple
> of functions.
I did a single read-through (see comment above!) and it looked both good
and equivalent to our code, as far as I could tell from that.

Michael Thayer | VirtualBox engineer
ORACLE Deutschland B.V. & Co. KG | Werkstr. 24 | D-71384 Weinstadt

ORACLE Deutschland B.V. & Co. KG
Hauptverwaltung: Riesstraße 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603

Komplementärin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande Handelsregister
der Handelskammer Midden-Nederland, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Jan Schultheiss, Val Maher

More information about the vbox-dev mailing list