lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150305191812.GA13280@gmail.com>
Date:	Thu, 5 Mar 2015 20:18:12 +0100
From:	Ingo Molnar <mingo@...nel.org>
To:	Arnaldo Carvalho de Melo <acme@...radead.org>
Cc:	Borislav Petkov <bp@...en8.de>, Jiri Olsa <jolsa@...hat.com>,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] perf/tui: Change default selection background color to
 yellow


* Arnaldo Carvalho de Melo <acme@...radead.org> wrote:

> Em Thu, Mar 05, 2015 at 11:32:13AM +0100, Ingo Molnar escreveu:
> > Boris reported that 'perf top' is unusable on his default 'black on 
> > white' terminal, which uses (eye friendly) light-grey as a background 
> > color.
> > 
> > The reason is that the TUI cursor for the current selection line uses 
> > HE_COLORSET_SELECTED, and that has a default background color of 
> > 'lightgrey' - which is a common terminal background choice and thus 
> > the colors conflict.
> > 
> > Use yellow as the background color instead: that should be an uncommon 
> > terminal background, yet it's still ergonomic on both black and 
> > white/grey terminals.
> > 
> > [ It would be a better solution to straight out detect color
> >   collisions and resolve them reasonably by converting them to RGB and
> >   calculating color space distances, but I was unable to find
> >   proper documentation for SLtt_get_color_object() to recover the
> >   current color scheme so I gave up ... Yellow works well enough. ]
> 
> Thanks, applying.
> 
> BTW, I started with newt, thinking it would give me good widgets, 
> only to, after having reached its limitations write my own, this 
> time just on, like newt, top of slang's tui libraries, eventually I 
> think I'll move to ncurses or even just use the kernel tty interface 
> directly ;-)

LOL! :-)

Btw., a related problem: X terminals are pretty high overhead 
unfortunately, I cringe every time I run 'perf top' on a very fast 
system:

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                               
 4240 mingo     20   0 1031088 176112 106648 S   5.9  0.3 101:54.30 konsole                                                                                               
 1985 root      20   0  649412 194760 157464 S   3.0  0.3  41:49.94 Xorg                                                                                                  
 2395 mingo     20   0 2283956 526044 127108 S   2.0  0.8  34:40.23 compiz                     
13258 mingo     20   0  207588  70916  12112 S   1.3  0.1   0:03.01 perf                                                                                                  

10%+ of GUI CPU overhead with a refresh every 2 seconds (i.e. only 0.5 
fps) - ridiculous!

So to fix this I think we eventually want a raw OpenGL client for 
local system 'perf top' use and such: that would be (by far) the 
lowest overhead UI interface to run profiling from without disturbing 
the system, with UI overhead in the ~1% range at most.

Raw (no toolkits) OpenGL would also allow us to do a lot of other UI 
and performance tricks.

Would you have any fundamental objections against OpenGL UI clients?

Thanks,

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ