From: Anthony Liguori <anthony@codemonkey.ws>
To: Gleb Natapov <gleb@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH][rtc hack]: reduce number of reinjects on ACK
Date: Wed, 20 Jan 2010 08:56:47 -0600 [thread overview]
Message-ID: <4B5719AF.90604@codemonkey.ws> (raw)
In-Reply-To: <20100120133733.GI5238@redhat.com>
On 01/20/2010 07:37 AM, Gleb Natapov wrote:
> Windows 7 BSODs under load with HAL_RTC_IRQF_WILL_NOT_CLEAR error.
>
> It happens here:
> hal!HalpRtcUnmaskClock:
> 8281b93a 8bff mov edi,edi
> 8281b93c 56 push esi
> 8281b93d 33f6 xor esi,esi
> 8281b93f 6a0c push 0Ch
> 8281b941 e8b2ffffff call hal!CMOS_READ (8281b8f8)
> 8281b946 84c0 test al,al
> 8281b948 7920 jns hal!HalpRtcUnmaskClock+0x30 (8281b96a)
> 8281b94a 6a0a push 0Ah
> 8281b94c 46 inc esi
> 8281b94d e854c8ffff call hal!KeStallExecutionProcessor (828181a6)
> 8281b952 83fe64 cmp esi,64h
> 8281b955 72e8 jb hal!HalpRtcUnmaskClock+0x5 (8281b93f)
> 8281b957 6a00 push 0
> 8281b959 6a00 push 0
> 8281b95b 6a00 push 0
> 8281b95d 680a010000 push 10Ah
> 8281b962 6a5c push 5Ch
> 8281b964 ff1500c38082 call dword ptr [hal!_imp__KeBugCheckEx (8280c300)]
> 8281b96a 5e pop esi
> 8281b96b c3 ret
>
> So it loops for 100(64h) times reading register C before BSOD. Lets
> reduce number of immediate reinjection well under this limit.
>
> Signed-off-by: Gleb Natapov<gleb@redhat.com>
>
Applied. Thanks.
Regards,
Anthony Liguori
> diff --git a/hw/mc146818rtc.c b/hw/mc146818rtc.c
> index e4d55c7..2616d0d 100644
> --- a/hw/mc146818rtc.c
> +++ b/hw/mc146818rtc.c
> @@ -30,7 +30,7 @@
>
> //#define DEBUG_CMOS
>
> -#define RTC_REINJECT_ON_ACK_COUNT 1000
> +#define RTC_REINJECT_ON_ACK_COUNT 20
>
> #define RTC_SECONDS 0
> #define RTC_SECONDS_ALARM 1
> --
> Gleb.
>
>
>
>
prev parent reply other threads:[~2010-01-20 14:56 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-20 13:37 [Qemu-devel] [PATCH][rtc hack]: reduce number of reinjects on ACK Gleb Natapov
2010-01-20 14:56 ` Anthony Liguori [this message]
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=4B5719AF.90604@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=gleb@redhat.com \
--cc=qemu-devel@nongnu.org \
/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;
as well as URLs for NNTP newsgroup(s).