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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.