Date: Tue, 23 Apr 2019 08:18:33 +0000 From: Matt Churchyard <matt.churchyard@userve.net> To: Paul Vixie <paul@redbarn.org>, Victor Sudakov <vas@mpeks.tomsk.su> Cc: "freebsd-virtualization@freebsd.org" <freebsd-virtualization@freebsd.org> Subject: RE: [vm-bhyve] Windows 2012 and 2016 servers guests would not stop Message-ID: <4a660af455444ff48f38dc26852d999b@SERVER.ad.usd-group.com> In-Reply-To: <d33ea04e-4f4f-253a-b658-e6ecfd2308a6@redbarn.org> References: <20190421154616.GA59283@admin.sibptus.ru> <201904211708.x3LH8DiK028282@gndrsh.dnsmgr.net> <20190423024301.GA940@admin.sibptus.ru> <d33ea04e-4f4f-253a-b658-e6ecfd2308a6@redbarn.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Victor Sudakov wrote on 2019-04-22 19:43: ... >> And the implementation is pretty brutal: >> # 'vm stopall' >> # stop all bhyve instances >> # note this will also stop instances not started by vm-bhyve #=20 >> core::stopall(){ >> local _pids=3D$(pgrep -f 'bhyve:') >> >> echo "Shutting down all bhyve virtual machines" >> killall bhyve >> sleep 1 >> killall bhyve >> wait_for_pids ${_pids} >> } > yow. >> >> I wonder what the effect of the second kill is, that seems odd. >=20 > Indeed. > the first killall will cause each client OS to see a soft shutdown signal= . the sleep 1 gives them some time to flush their buffers. the second killa= ll says, time's up, just stop. Both of these killall commands send a soft shutdown signal and I've never s= een an instance in my own testing where the second has caused an instant po= weroff. I've just double checked this, and a FreeBSD guest stopped with the existin= g code fully shuts itself down, ending with "acpi0: Powering system off" The main reason for having both is that in my initial testing, I could not = get Windows to respond to a single SIGINT. 100% of the time it would simply= act like nothing had happened. Sending two however triggered a shutdown. I= only have a single test machine though so maybe it's something strange abo= ut my particular system that no one else experiences... Matt > i think this is worse than brutal, it's wrong. consider freebsd's own wor= k flow when trying to comply with the first soft shutdown it got: > https://github.com/freebsd/freebsd/blob/master/sbin/reboot/reboot.c#L220 > this has bitten me more than once, because using "pageins" as a proxy for= "my server processes are busy trying to synchronize their user mode state"= is inaccurate. i think _any_ continuing I/O should > be reason to wait the= full 60 seconds. > and so i think the "sleep 1" above should be a "sleep 65". > What is needed in vm-bhyve is the feature that if ACPI does not stop=20 > the guest for a predefined period of time, the guest is powered off. > i agree with this. -- > P Vixie _______________________________________________ freebsd-virtualization@freebsd.org mailing list https://lists.freebsd.org/m= ailman/listinfo/freebsd-virtualization To unsubscribe, send any mail to "freebsd-virtualization-unsubscribe@freebs= d.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4a660af455444ff48f38dc26852d999b>