Messages in this thread | | | Date | Mon, 22 Aug 2011 18:07:13 +0200 | From | Jiri Olsa <> | 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |