Re: [BUG] perf top: --stdio causes continuous refresh

From: Stephane Eranian
Date: Thu Feb 06 2014 - 15:21:54 EST


On Thu, Feb 6, 2014 at 8:28 PM, Arnaldo Carvalho de Melo
<acme@xxxxxxxxxx> wrote:
> Em Thu, Feb 06, 2014 at 05:21:31PM -0200, Arnaldo Carvalho de Melo escreveu:
>> Em Thu, Feb 06, 2014 at 10:48:19AM -0700, David Ahern escreveu:
>> > On 2/6/14, 8:24 AM, Stephane Eranian wrote:
>> > >On Thu, Feb 6, 2014 at 3:09 PM, Arnaldo Carvalho de Melo
>> > >>>>I am using tip.git. Or try 3.11, 3.10.
>
>> > >>But my tests are on top of:
>
>> > >>[acme@ssdandy linux]$ uname -r
>> > >>3.11.4-101.fc18.x86_64
>
>> > >>I thought it was a 3.14ish one, building one to try there...
>
>> > >The kernel must be 3.14-rcX, the tool can be any version.
>
>> > I don't have time to do a git bisect, but I can narrow the window to
>> > 3.13-rc6 and 3.14-rc1. Just happened to update a server yesterday.
>> > perf-top --stdio runs fine on the former and shows the problem on
>> > the latter.
>>
>> Humm,
>>
>> /*
>> * Either timeout expired or we got an EINTR due to
>> * SIGWINCH, refresh screen in both cases.
>> */
>> switch (poll(&stdin_poll, 1, delay_msecs)) {
>
>> And poll is returning 1:
>
>> 951.068 ( 0.002 ms): poll(ufds: 0x7ff660befbb0, nfds: 1, timeout_msecs: 2000) = 1
>
> We go to the getc(stdin) and it returns EOF :-\
>
Doesn't poll() return 0 if timeout, and 1 if descriptor in this case?
So you're saying you get 1 and getc() returns nothing to read.
Does stdin get closed somehow?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/