[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Regression in OSSTest Windows install test case



On Thu, Jul 16, 2015 at 09:39:42AM +0100, Paul Durrant wrote:
[...]
> I think I found the semantic difference. Prior to this patch it would seem 
> that stdvga buffered writes even when not in stdvga mode. When I tested your 
> config (using cirrus), windows drops out of stdvga quite early in boot which 
> slows down the splash screen to a crawl. When I just uncommented the single 
> line 'stdvga=1' then I got through the splash screen several orders of 
> magnitude faster.
> So, I think this (compile tested only) incremental patch should fix the test:
> 
> diff --git a/xen/arch/x86/hvm/stdvga.c b/xen/arch/x86/hvm/stdvga.c
> index 6d22b22..d528155 100644
> --- a/xen/arch/x86/hvm/stdvga.c
> +++ b/xen/arch/x86/hvm/stdvga.c
> @@ -441,7 +441,7 @@ static int stdvga_mem_write(const struct hvm_io_handler 
> *han
>      };
>      struct hvm_ioreq_server *srv;
> 
> -    if ( !s->cache )
> +    if ( !s->cache || !s->stdvga )
>          goto done;
> 
>      /* Intercept mmio write */
> @@ -503,9 +503,6 @@ static bool_t stdvga_mem_accept(const struct 
> hvm_io_handler
> 
>      spin_lock(&s->lock);
> 
> -    if ( !s->stdvga )
> -        goto reject;
> -
>      if ( p->dir == IOREQ_WRITE && p->count > 1 )
>      {
>          /*
> @@ -526,7 +523,7 @@ static bool_t stdvga_mem_accept(const struct 
> hvm_io_handler
> 
>          goto reject;
>      }
> -    else if ( p->dir == IOREQ_READ && !s->cache )
> +    else if ( p->dir == IOREQ_READ && !s->cache && !s->stdvga )
>          goto reject;
> 
>      /* s->lock intentionally held */
> 
> I can't say that I like the idea of unconditionally buffering VRAM writes, 
> but I'll test patch and post it.
> 

Thank you for the fix. It fixes the problem for me.

Tested-by: Wei Liu <wei.liu2@xxxxxxxxxx>

>   Paul
> 
> 



> > Wei.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.