All of lore.kernel.org
 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 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.