qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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.
>
>
>
>    

      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).