All of lore.kernel.org
 help / color / mirror / Atom feed
From: bugzilla-daemon@bugzilla.kernel.org
To: dri-devel@lists.sourceforge.net
Subject: [Bug 15293] Flash video laggy inside Firefox only with KMS
Date: Wed, 17 Feb 2010 15:10:10 GMT	[thread overview]
Message-ID: <201002171510.o1HFAAOJ026722@demeter.kernel.org> (raw)
In-Reply-To: <bug-15293-2300@http.bugzilla.kernel.org/>

http://bugzilla.kernel.org/show_bug.cgi?id=15293


Pauli <suokkos@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |suokkos@gmail.com




--- Comment #11 from Pauli <suokkos@gmail.com>  2010-02-17 15:10:01 ---
I did look at the provided profile data but it is mostly useless because
missing debug symbols. It would be nice if it could be repeated with debug
symbols installed for kernel, xserver and ddx driver.

I did some profiling in my AGP system to see what there might be going on.

Problematic places are for the vimeo video in original report:

1. 26% cpu time goes for allocating bo to GTT for exaGetImage (in DFS). Real
problem in allocation is cache flush when changing pages from WB to WC and
purge_vmap_area_lazy in ttm. But as there is report from PCIE users I don't
believe this is problem for them.

3. linflashplayer.so taking directly 11% of cpu time and indirectly 12% by
calling gtk/gdk.

4. 14% cpu time is oing for memcpy from GTT to system memory. This is far me
that memcpy from system memory to GTT. I guess the WC caching is slowing down
the operation. But I would still need to run some micro benchmarks to locate
the problem

5. UTS taking 7%.

That totals to 70% of cpu utilization. Firefox showing 26% cpu time total but
that includes 23% for flash and only 3% for firefox.

Is it possible to skip the blit to scratch in PCIe systems? Skipping the
scratch would reduce memory bandwidth use quite nicely for large flash videos. 

Specially when flash is wasting memory bandwidth already a lot. Data flow in
flash video playback is system->VRAM->system->VRAM which is causing multiple
times memory bandwidth use when compared to simple video playback.

Idea for DFS handler optimization for AGP systems:
preallocate 2 scratch buffers to GTT (maybe 256k each?) for all DFS and UTS
operations
function DFS:
send 2 blits (from vram to scratch) commands to GPU with fence between.
i = 0;
while (data to copy) {
map scratch[i]
memcpy scratch[i] to system memory
unmap scratch[i]
if ( more to read from vram ) {
send blit from vram to scratch[i]
}
i = 1 - 0;
}


Here seems to be multiple performance bugs that flash is triggering to cause
the effects which this bug report is about.
The largest bug seems to expensive buffer object allocation to GTT. I don't
know if this can be fixed in TTM code but at least ddx could reduce number of
allocations.
Next largest bug is that memcpy is very expensive when doing the copy from GTT
to system memory. I don't know why or how to fix it without some micro
benchmarks.

-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
--

  parent reply	other threads:[~2010-02-17 15:10 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-13 14:53 [Bug 15293] New: Flash video laggy inside Firefox only with KMS bugzilla-daemon
2010-02-13 15:51 ` [Bug 15293] " bugzilla-daemon
2010-02-13 16:14 ` bugzilla-daemon
2010-02-13 17:07 ` bugzilla-daemon
2010-02-13 17:16 ` bugzilla-daemon
2010-02-13 17:27 ` bugzilla-daemon
2010-02-13 18:06 ` bugzilla-daemon
2010-02-16 20:48 ` bugzilla-daemon
2010-02-16 20:57 ` bugzilla-daemon
2010-02-17  9:33 ` bugzilla-daemon
2010-02-17  9:42 ` bugzilla-daemon
2010-02-17 12:45 ` bugzilla-daemon
2010-02-17 15:10 ` bugzilla-daemon [this message]
2010-02-17 15:48 ` bugzilla-daemon
2010-02-17 16:00 ` bugzilla-daemon
2010-02-17 16:46 ` bugzilla-daemon
2010-02-17 16:57 ` bugzilla-daemon
2010-02-17 17:11 ` bugzilla-daemon
2010-02-22 21:46 ` bugzilla-daemon
2010-02-22 22:19 ` bugzilla-daemon
2010-02-23 18:41 ` bugzilla-daemon
2010-02-23 20:28 ` bugzilla-daemon
2010-02-24 10:30 ` bugzilla-daemon
2010-02-27  6:40 ` bugzilla-daemon
2010-02-28 11:54   ` Andy Furniss
2010-02-28 12:00     ` Andy Furniss
2010-02-28 15:57       ` Andy Furniss
2010-02-28 12:52 ` bugzilla-daemon
2010-02-28 13:59 ` bugzilla-daemon
2010-02-28 15:57 ` bugzilla-daemon
2010-02-28 16:24 ` bugzilla-daemon
2010-02-28 19:01 ` bugzilla-daemon
2010-02-28 19:49   ` Andy Furniss
2010-02-28 19:41 ` bugzilla-daemon
2010-02-28 19:50 ` bugzilla-daemon
2010-03-15 17:59 ` bugzilla-daemon
2010-03-15 18:01 ` bugzilla-daemon
2010-03-15 18:03 ` bugzilla-daemon
2010-02-21 21:25 2.6.33-rc8-git6: Reported regressions from 2.6.32 Rafael J. Wysocki
2010-02-21 21:30 ` [Bug #15293] Flash video laggy inside Firefox only with KMS Rafael J. Wysocki
     [not found] <bug-15293-2300@https.bugzilla.kernel.org/>
2010-03-21 20:05 ` [Bug 15293] " bugzilla-daemon

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=201002171510.o1HFAAOJ026722@demeter.kernel.org \
    --to=bugzilla-daemon@bugzilla.kernel.org \
    --cc=dri-devel@lists.sourceforge.net \
    /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.