Bug 708015

Summary: Images are not added to cache.
Product: Red Hat Enterprise Linux 6 Reporter: Marian Krcmarik <mkrcmari>
Component: xorg-x11-drv-qxlAssignee: Søren Sandmann Pedersen <sandmann>
Status: CLOSED CURRENTRELEASE QA Contact: Desktop QE <desktop-qa-list>
Severity: high Docs Contact:
Priority: urgent    
Version: 6.1CC: acathrow, alevy, bsanford, dblechte, djasa, jwest, kem, pvine, syeghiay, yhalperi
Target Milestone: rcKeywords: Regression, ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-10-09 12:44:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 612566, 799524    

Description Marian Krcmarik 2011-05-26 14:47:42 UTC
Description of problem:
No images seem to be added to cache, no server hints to cache image or to take an image from cache are sent to client. All Image IDs are 0. Image cache does work with Windows guests and as well It does work with driver without surface support - xorg-x11-drv-qxl-0.0.12-2.1.
It has visible and significant impact on user experience.
Fedora's bug: bz #706699

Image flags:
flags8 image_flags {
    CACHE_ME,
    HIGH_BITS_SET,
    CACHE_REPLACE_ME,
};
do NOT seem to be used.


Version-Release number of selected component (if applicable):
spice-server-0.8.0-1
qemu-kvm-0.12.1.2-2.160
xorg-x11-drv-qxl-0.0.12-9

How reproducible:
Always

Steps to Reproduce:
Use qemu instance with spice and connect to it with spice client.
Well, add some red_printf() on the server as described in bz #706699 or I could provide POC dissector for wireshark.
   
Actual results:
No images are cached.

Expected results:
Should be cached.

Comment 2 Søren Sandmann Pedersen 2011-05-27 10:04:11 UTC
> It has visible and significant impact on user experience.

How did you determine this?

Comment 3 Marian Krcmarik 2011-05-27 10:20:51 UTC
(In reply to comment #2)
> > It has visible and significant impact on user experience.
> 
> How did you determine this?

When browsing webpages with images in WAN environment. When there are some images slideshows or same presentations with images I can see visible delay to load images in comparison with Windows guest where images are loaded from client cache instead of loading from server side.

Comment 4 Søren Sandmann Pedersen 2011-05-27 11:00:42 UTC
How do you know this is not due to some other difference between Windows and Linux guests?

Comment 5 Marian Krcmarik 2011-05-27 12:05:27 UTC
(In reply to comment #4)
> How do you know this is not due to some other difference between Windows and
> Linux guests?

OK, another way:
1. When I use Linux guest with xorg-x11-drv-qxl-0.0.12-2.1.el6_0.1 and I look at one particular slideshow on a webpage, where same images rotate over and over again, It looks very similar like on bare metal.

2. When I use very same Linux guest with xorg-x11-drv-qxl-0.0.12-9 and I look at very same slideshow, I can see a delay in loading those images, I can see background of the place where image should be display for a while, what I do not observe in previous scenario.

And then when I take a look at traffic I can see in scenario 1. that images are chaching on client side according to server hints and in scenario 2. images are not chaching and all of them have ID = 0 and no cache hints are sent to a client.

Even I do not know where those questions are heading. Let me edit the sentence:
It seems that broken Image cache has visible and significant impact on user experience which I can observe but I do not have deep knowledge of goal of Image cache when using surfaces.

Comment 6 Søren Sandmann Pedersen 2011-05-27 12:19:37 UTC
Do you have a link to the slide show in question?

Comment 7 Marian Krcmarik 2011-05-27 16:08:39 UTC
For example this slideshow:

http://wowslider.com/jquery-slider-bar-kenburns-demo.html#

Even for first time It's much better with xorg-x11-drv-qxl-0.0.12-2.1.el6_0.1 than with xorg-x11-drv-qxl-0.0.12 when image is zooming.

or sport.sk there is slideshow rotating to particular articles and when using latest qxl driver I can see first white background with alt description and then image, when using the older qxl I can see image quickly so I can't notice background.

Comment 8 Marian Krcmarik 2011-05-27 16:18:38 UTC
But all those examples are just examples, The point: Image cache does not work as It worked.

Comment 12 David Jaša 2012-03-02 19:39:15 UTC
QA Acking for Marian to get it to z-stream ASAP. 

Reproducers are in #c3 and #c5.

Comment 14 Søren Sandmann Pedersen 2012-03-02 20:35:03 UTC
Backported patches to add caching.

Comment 20 Bill Sanford 2012-03-09 15:45:06 UTC
I installed xorg-x11-drv-qxl-0.0.14-12.el6_2 on a 6.3 guest. I could not get the "CACHE_ME" to show up in the spice packets. I used a Windows7 VM with qxl-win-0.1-14 installed and had no problem with seeing the "CACHE_ME" in the packets.

Putting back to assigned.

Comment 21 Søren Sandmann Pedersen 2012-03-09 17:24:18 UTC
-13 should fix this.

The feature was actually present in -12, but it had to be enabled through an xorg.conf option. In -13, caching is turned on by default.

Comment 22 Bill Sanford 2012-03-09 19:14:12 UTC
I installed xorg-x11-drv-qxl-0.0.14-13.el6_2 and now see the  DRAW_COPY packets
that have the CACHE_ME and FROM_CACHE flags in the Image Descriptor.

Comment 23 Jiri Pallich 2012-10-09 12:44:13 UTC
Since this is a parent bug of an issue that has already been released via Z-Stream (e.g. rhel-6.3.z), this bug is going to be CLOSED as CURRENTRELEASE.