From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756003AbdERQNQ (ORCPT ); Thu, 18 May 2017 12:13:16 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33324 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755758AbdERQNO (ORCPT ); Thu, 18 May 2017 12:13:14 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 1BC123D955 Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=jolsa@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 1BC123D955 Date: Thu, 18 May 2017 18:13:10 +0200 From: Jiri Olsa To: David Carrillo-Cisneros Cc: linux-kernel@vger.kernel.org, Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Alexander Shishkin , Andi Kleen , Simon Que , Wang Nan , Jiri Olsa , He Kuang , Masami Hiramatsu , David Ahern , Namhyung Kim , Stephane Eranian , Paul Turner Subject: Re: [PATCH 7/7] perf tools: add feature header record to pipe-mode Message-ID: <20170518161310.GB17926@krava> References: <20170518041602.28689-1-davidcc@google.com> <20170518041602.28689-8-davidcc@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170518041602.28689-8-davidcc@google.com> User-Agent: Mutt/1.8.0 (2017-02-23) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Thu, 18 May 2017 16:13:14 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, May 17, 2017 at 09:16:02PM -0700, David Carrillo-Cisneros wrote: SNIP > struct header_print_data { > @@ -2218,33 +2258,33 @@ int perf_header__fprintf_info(struct perf_session *session, FILE *fp, bool full) > return 0; > } > > -static int do_write_feat(struct feat_fd *fd, struct perf_header *h, int type, > +static int do_write_feat(struct feat_fd *fdd, int type, > struct perf_file_section **p, > struct perf_evlist *evlist) > { > int err; > int ret = 0; > > - if (perf_header__has_feat(h, type)) { > + if (perf_header__has_feat(fdd->ph, type)) { please do these changes in the earlier patch that introduced the feat_fd as parameter in do_write_feat function thanks, jirka > if (!feat_ops[type].write) > return -1; > > - if (fd->buf) { > - pr_err("do_write_feat to memory buffer\n"); > + if (fdd->buf) { > + pr_debug("Called do_write_feat for memory buffer\n"); > return -1; > } > - (*p)->offset = lseek(fd->fd, 0, SEEK_CUR); > + (*p)->offset = lseek(fdd->fd, 0, SEEK_CUR); > > - err = feat_ops[type].write(fd, evlist); > + err = feat_ops[type].write(fdd, evlist); > if (err < 0) { > pr_debug("failed to write feature %s\n", feat_ops[type].name); > > /* undo anything written */ > - lseek(fd->fd, (*p)->offset, SEEK_SET); > + lseek(fdd->fd, (*p)->offset, SEEK_SET); > > return -1; > } > - (*p)->size = lseek(fd->fd, 0, SEEK_CUR) - (*p)->offset; > + (*p)->size = lseek(fdd->fd, 0, SEEK_CUR) - (*p)->offset; > (*p)++; > } > return ret; > @@ -2261,10 +2301,6 @@ static int perf_header__adds_write(struct perf_header *header, > int feat; > int err; > > - /* > - * may write more than needed due to dropped feature, but > - * this is okay, reader will skip the mising entries > - */ > fdd = (struct feat_fd){ > .fd = fd, > .ph = header, > @@ -2284,7 +2320,7 @@ static int perf_header__adds_write(struct perf_header *header, > lseek(fd, sec_start + sec_size, SEEK_SET); > > for_each_set_bit(feat, header->adds_features, HEADER_FEAT_BITS) { > - if (do_write_feat(&fdd, header, feat, &p, evlist)) > + if (do_write_feat(&fdd, feat, &p, evlist)) > perf_header__clear_feat(header, feat); SNIP