[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110822160713.GA10134@jolsa.brq.redhat.com>
Date: Mon, 22 Aug 2011 18:07:13 +0200
From: Jiri Olsa <jolsa@...hat.com>
To: Eric Dumazet <eric.dumazet@...il.com>
Cc: acme@...hat.com, a.p.zijlstra@...llo.nl, mingo@...e.hu,
paulus@...ba.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] perf, tool, record: Fix the header generation for pipe
On Mon, Aug 22, 2011 at 05:51:06PM +0200, Eric Dumazet wrote:
> Le lundi 22 août 2011 à 16:52 +0200, Jiri Olsa a écrit :
>
> > - fd is always file.. the descriptor, which might be pipe, is in output_fd variable
> > but, maybe the die call is not necessary.. this should not fail
> >
> > - the record_file function is called only on debugfs or procfs files:
> > events/header_page
> > events/header_event
> > events/**/format
> > printk_formats
> > /proc/kallsyms
> >
> > so I think I need to read the whole file as in current code.
> >
>
> You read the file twice. Is it the right fix ?
>
> Once to compute the length to be able to write the output header, once
> to process the content.
>
> Are you sure length cannot change between the two phases ?
>
> /proc/kallsyms can definitely change when a module is loaded.
Right, better to store it to a temp file as you suggest,
so we have consistent view.. I'll prepare new patch.
thanks,
jirka
>
> Usually, when input "file" is not seekable or procfs based (fstat()
> returns st_size=0), we must load/cache it in memory (or using a
> temporary file) to get a consistent view of it.
>
> This is what is done by following commands :
>
> cat /proc/kallsyms | less
> less /proc/kallsyms
>
>
>
--
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