On 01.12.2011 15:36, Omair Eshkenazi wrote: > Hi, Hi,
> X is probably a symlink to Xorg, the idea probably being to enable the > transparent use of a different x-server (Xvesa k-drive, xfbdev)... Yes, it is. However, I did have a quick look on a friend's Ubuntu system which seemed to have "Xorg" in 'comm' despite the X binary being 'X' there as well, so it left me somewhat confused. Or maybe I was just mistaken. In any case, I don't see much harm in applying the patch. > Quoting "Anssi Hannula" <anssi.hann...@iki.fi>: > >> On some systems the comm value of X is not 'Xorg' but 'X'. Add detection >> for 'X' where only 'Xorg' was previously checked for. >> >> Signed-off-by: Anssi Hannula <anssi.hann...@iki.fi> >> --- >> >> I didn't figure out where this difference comes from, but on my >> Mageia 1 system the X server comm value is 'X' instead of 'Xorg'. >> >> process/do_process.cpp | 10 +++++++--- >> 1 files changed, 7 insertions(+), 3 deletions(-) >> >> diff --git a/process/do_process.cpp b/process/do_process.cpp >> index b76eacd..a6b99cb 100644 >> --- a/process/do_process.cpp >> +++ b/process/do_process.cpp >> @@ -170,11 +170,15 @@ class perf_process_bundle: public perf_bundle >> virtual void handle_trace_point(int type, void *trace, int >> cpu, uint64_t time, unsigned char flags); >> }; >> >> +static bool comm_is_xorg(char *comm) >> +{ >> + return strcmp(comm, "Xorg") == 0 || strcmp(comm, "X") == 0; >> +} >> >> /* some processes shouldn't be blamed for the wakeup if they wake a >> process up... for now this is a hardcoded list */ >> int dont_blame_me(char *comm) >> { >> - if (strcmp(comm, "Xorg") == 0) >> + if (comm_is_xorg(comm)) >> return 1; >> if (strcmp(comm, "dbus-daemon") == 0) >> return 1; >> @@ -291,7 +295,7 @@ void perf_process_bundle::handle_trace_point(int >> type, void *trace, int cpu, uin >> dest_proc->last_waker = from; >> >> /* Account processes that wake up X specially */ >> - if (from && dest_proc && strcmp(dest_proc->comm, "Xorg") == 0) >> + if (from && dest_proc && comm_is_xorg(dest_proc->comm)) >> from->xwakes ++ ; >> >> } >> @@ -463,7 +467,7 @@ void perf_process_bundle::handle_trace_point(int >> type, void *trace, int cpu, uin >> if (consumer && strcmp(consumer->name(), "process")==0) { >> class process *proc; >> proc = (class process *) consumer; >> - if (strcmp(proc->comm, "Xorg")==0 && proc->last_waker) { >> + if (comm_is_xorg(proc->comm) && proc->last_waker) { >> consumer = proc->last_waker; >> } >> } >> -- >> 1.7.7.2 >> >> _______________________________________________ >> Power mailing list >> Power@bughost.org >> https://bughost.org/mailman/listinfo/power >> > > > -- Anssi Hannula _______________________________________________ Power mailing list Power@bughost.org https://bughost.org/mailman/listinfo/power