Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S941151AbcJXS7q (ORCPT ); Mon, 24 Oct 2016 14:59:46 -0400 Received: from terminus.zytor.com ([198.137.202.10]:46716 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932413AbcJXS7k (ORCPT ); Mon, 24 Oct 2016 14:59:40 -0400 Date: Mon, 24 Oct 2016 11:59:05 -0700 From: tip-bot for Stephane Eranian Message-ID: Cc: tglx@linutronix.de, hpa@zytor.com, acme@redhat.com, mingo@kernel.org, jolsa@redhat.com, namhyung@kernel.org, peterz@infradead.org, eranian@google.com, anton@ozlabs.org, linux-kernel@vger.kernel.org Reply-To: namhyung@kernel.org, jolsa@redhat.com, tglx@linutronix.de, hpa@zytor.com, mingo@kernel.org, acme@redhat.com, linux-kernel@vger.kernel.org, anton@ozlabs.org, eranian@google.com, peterz@infradead.org In-Reply-To: <1476356383-30100-4-git-send-email-eranian@google.com> References: <1476356383-30100-4-git-send-email-eranian@google.com> To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/core] perf jit: Remove unecessary padding in jitdump file Git-Commit-ID: 13b9012ab42ee93dabe8555f2e701ca139180f85 X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4229 Lines: 141 Commit-ID: 13b9012ab42ee93dabe8555f2e701ca139180f85 Gitweb: http://git.kernel.org/tip/13b9012ab42ee93dabe8555f2e701ca139180f85 Author: Stephane Eranian AuthorDate: Thu, 13 Oct 2016 03:59:37 -0700 Committer: Arnaldo Carvalho de Melo CommitDate: Mon, 24 Oct 2016 11:07:38 -0300 perf jit: Remove unecessary padding in jitdump file This patch removes all the string padding generated in the jitdump file. They are not necessary and were adding unnecessary complexity. Modern processors can handle unaligned accesses quite well. The perf.data/ jitdump file are always post-processed, no need to add extra complexity for no real gain. Signed-off-by: Stephane Eranian Cc: Anton Blanchard Cc: Jiri Olsa Cc: Namhyung Kim Cc: Peter Zijlstra Link: http://lkml.kernel.org/r/1476356383-30100-4-git-send-email-eranian@google.com Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/jvmti/jvmti_agent.c | 38 +------------------------------------- 1 file changed, 1 insertion(+), 37 deletions(-) diff --git a/tools/perf/jvmti/jvmti_agent.c b/tools/perf/jvmti/jvmti_agent.c index 55daeff..e9651a9 100644 --- a/tools/perf/jvmti/jvmti_agent.c +++ b/tools/perf/jvmti/jvmti_agent.c @@ -44,11 +44,6 @@ static char jit_path[PATH_MAX]; static void *marker_addr; -/* - * padding buffer - */ -static const char pad_bytes[7]; - static inline pid_t gettid(void) { return (pid_t)syscall(__NR_gettid); @@ -230,7 +225,6 @@ init_arch_timestamp(void) void *jvmti_open(void) { - int pad_cnt; char dump_path[PATH_MAX]; struct jitheader header; int fd; @@ -288,10 +282,6 @@ void *jvmti_open(void) header.total_size = sizeof(header); header.pid = getpid(); - /* calculate amount of padding '\0' */ - pad_cnt = PADDING_8ALIGNED(header.total_size); - header.total_size += pad_cnt; - header.timestamp = perf_get_timestamp(); if (use_arch_timestamp) @@ -301,13 +291,6 @@ void *jvmti_open(void) warn("jvmti: cannot write dumpfile header"); goto error; } - - /* write padding '\0' if necessary */ - if (pad_cnt && !fwrite(pad_bytes, pad_cnt, 1, fp)) { - warn("jvmti: cannot write dumpfile header padding"); - goto error; - } - return fp; error: fclose(fp); @@ -349,7 +332,6 @@ jvmti_write_code(void *agent, char const *sym, static int code_generation = 1; struct jr_code_load rec; size_t sym_len; - size_t padding_count; FILE *fp = agent; int ret = -1; @@ -366,8 +348,6 @@ jvmti_write_code(void *agent, char const *sym, rec.p.id = JIT_CODE_LOAD; rec.p.total_size = sizeof(rec) + sym_len; - padding_count = PADDING_8ALIGNED(rec.p.total_size); - rec.p. total_size += padding_count; rec.p.timestamp = perf_get_timestamp(); rec.code_size = size; @@ -393,9 +373,6 @@ jvmti_write_code(void *agent, char const *sym, ret = fwrite_unlocked(&rec, sizeof(rec), 1, fp); fwrite_unlocked(sym, sym_len, 1, fp); - if (padding_count) - fwrite_unlocked(pad_bytes, padding_count, 1, fp); - if (code) fwrite_unlocked(code, size, 1, fp); @@ -412,7 +389,6 @@ jvmti_write_debug_info(void *agent, uint64_t code, const char *file, { struct jr_code_debug_info rec; size_t sret, len, size, flen; - size_t padding_count; uint64_t addr; const char *fn = file; FILE *fp = agent; @@ -443,16 +419,10 @@ jvmti_write_debug_info(void *agent, uint64_t code, const char *file, * int : line number * int : column discriminator * file[] : source file name - * padding : pad to multiple of 8 bytes */ size += nr_lines * sizeof(struct debug_entry); size += flen * nr_lines; - /* - * pad to 8 bytes - */ - padding_count = PADDING_8ALIGNED(size); - - rec.p.total_size = size + padding_count; + rec.p.total_size = size; /* * If JVM is multi-threaded, nultiple concurrent calls to agent @@ -486,12 +456,6 @@ jvmti_write_debug_info(void *agent, uint64_t code, const char *file, if (sret != 1) goto error; } - if (padding_count) { - sret = fwrite_unlocked(pad_bytes, padding_count, 1, fp); - if (sret != 1) - goto error; - } - funlockfile(fp); return 0; error: