Running with the brakes on ...
Adam Jackson
ajackson at redhat.com
Tue Dec 5 01:11:20 UTC 2006
On Mon, 2006-12-04 at 14:47 -0900, Jeff Spaleta wrote:
> On 12/4/06, Adam Jackson <ajackson at redhat.com> wrote:
> > So you've found that some use profile makes X use all the CPU. Now you
> > need to find out _what_ in X is taking all the time. You need to either
> > use a tool like oprofile or sysprof to extract that information, or you
> > need to instrument the X server to report on what requests and clients
> > are using most of its time. The latter requires code changes to a
> > project that many people find intimidating and/or unpleasant to work
> > with, which is why I suggested using oprofile in the first place.
>
> is xrestop at all useful in this situation?
Not at the moment. xrestop right now is only useful for showing you
client memory allocations (see /usr/include/X11/extensions/XRes*.h for
the gory details). It would be pretty straightforward to hook up some
basic per-client accounting in the scheduler, although it's slightly
tricky to do that while not blowing away your dispatch performance,
gettimeofday() is equivalent to about 10 (no-op) client requests.
There's different metrics you want to measure there - number of
requests, number of scheduler punishes, number of sleeps, total request
time - and it's not immediately clear to me which ones would be worth
doing and which would just be overhead. Would definitely be a pleasant
thing to have though.
- ajax
More information about the fedora-devel-list
mailing list