From: Vitaly Kuznetsov <vkuznets@redhat.com>
To: Olaf Hering <olaf@aepfle.de>
Cc: kys@microsoft.com, gregkh@linuxfoundation.org,
linux-kernel@vger.kernel.org, devel@linuxdriverproject.org
Subject: Re: move hyperv CHANNELMSG_UNLOAD from crashed kernel to kdump kernel
Date: Thu, 15 Dec 2016 11:54:05 +0100 [thread overview]
Message-ID: <87mvfx4g4y.fsf@vitty.brq.redhat.com> (raw)
In-Reply-To: <20161215103402.GA6336@aepfle.de> (Olaf Hering's message of "Thu, 15 Dec 2016 11:34:03 +0100")
Olaf Hering <olaf@aepfle.de> writes:
> On Thu, Dec 15, Vitaly Kuznetsov wrote:
>
>> I see a number of minor but at least one major issue against such move:
>> At least for some Hyper-V versions (2012R2 for example)
>> CHANNELMSG_UNLOAD_RESPONSE is delivered to the CPU which initially sent
>> CHANNELMSG_REQUESTOFFERS and on kdump we may not have this CPU up as
>> we usually do kdump with nr_cpus=1 (and on the CPU which crashed).
>
> Since the kdump or kexec kernel will send the unload during boot I would
> expect the response to arrive where it was sent, independent from the
> number of cpus.
>
We actually need to read the reply and empty the message slot to make
unload happen. And reading on a different CPU may not work, see:
http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/2016-December/097330.html
>> Minor issue is the necessity preserve the information about
>> message/events pages across kexec.
>
> I guess this info is stored somewhere, and the relevant gfns can be
> preserved across kernels, if we try really hard.
>
> But after looking further at the involved code paths it seems that the
> implemnted polling might be good enough to snatch the response. Was the
> mdelay(10) just an arbitrary decision?
I observed delays up to several seconds (!) before
CHANNELMSG_UNLOAD_RESPONSE is delivered.
> I interpret the comments in vmbus_signal_eom such that the host may
> overwrite the response. Perhaps such thing may happen during the mdelay?
No, (at least in theory) the host is never supposed to overwrite
messages, it waits for the guest to clean the slot and do wrmsr.
--
Vitaly
next prev parent reply other threads:[~2016-12-15 10:54 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-07 8:51 move hyperv CHANNELMSG_UNLOAD from crashed kernel to kdump kernel Olaf Hering
2016-12-07 15:04 ` KY Srinivasan
2016-12-07 15:46 ` Olaf Hering
2016-12-07 16:10 ` KY Srinivasan
2016-12-07 16:19 ` Olaf Hering
2016-12-07 16:24 ` KY Srinivasan
2016-12-07 16:39 ` Olaf Hering
2016-12-07 18:11 ` KY Srinivasan
2016-12-15 10:26 ` Vitaly Kuznetsov
2016-12-15 10:34 ` Olaf Hering
2016-12-15 10:36 ` Olaf Hering
2016-12-15 10:54 ` Vitaly Kuznetsov
2016-12-15 10:54 ` Vitaly Kuznetsov [this message]
2016-12-15 12:51 ` Olaf Hering
2016-12-15 13:28 ` Vitaly Kuznetsov
2016-12-15 13:51 ` Olaf Hering
2016-12-15 14:32 ` Vitaly Kuznetsov
2016-12-16 0:51 ` KY Srinivasan
2016-12-15 15:16 ` Olaf Hering
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87mvfx4g4y.fsf@vitty.brq.redhat.com \
--to=vkuznets@redhat.com \
--cc=devel@linuxdriverproject.org \
--cc=gregkh@linuxfoundation.org \
--cc=kys@microsoft.com \
--cc=linux-kernel@vger.kernel.org \
--cc=olaf@aepfle.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox