tools: Introduce tools/include/linux/time64.h for *SEC_PER_*SEC macros
And remove it from tools/perf/{perf,util}.h, making code that needs
these macros to include linux/time64.h instead, to match how this is
used in the kernel sources.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-e69fc1pvkgt57yvxqt6eunyg@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
			
			
This commit is contained in:
		
							parent
							
								
									ce90c12d24
								
							
						
					
					
						commit
						bd48c63eb0
					
				
							
								
								
									
										12
									
								
								tools/include/linux/time64.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								tools/include/linux/time64.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | ||||
| #ifndef _TOOLS_LINUX_TIME64_H | ||||
| #define _TOOLS_LINUX_TIME64_H | ||||
| 
 | ||||
| #define MSEC_PER_SEC	1000L | ||||
| #define USEC_PER_MSEC	1000L | ||||
| #define NSEC_PER_USEC	1000L | ||||
| #define NSEC_PER_MSEC	1000000L | ||||
| #define USEC_PER_SEC	1000000L | ||||
| #define NSEC_PER_SEC	1000000000L | ||||
| #define FSEC_PER_SEC	1000000000000000LL | ||||
| 
 | ||||
| #endif /* _LINUX_TIME64_H */ | ||||
| @ -77,4 +77,5 @@ tools/include/linux/stringify.h | ||||
| tools/include/linux/types.h | ||||
| tools/include/linux/err.h | ||||
| tools/include/linux/bitmap.h | ||||
| tools/include/linux/time64.h | ||||
| tools/arch/*/include/uapi/asm/perf_regs.h | ||||
|  | ||||
| @ -24,6 +24,7 @@ | ||||
| #include <sys/timerfd.h> | ||||
| #endif | ||||
| 
 | ||||
| #include <linux/time64.h> | ||||
| #include <termios.h> | ||||
| #include <semaphore.h> | ||||
| #include <pthread.h> | ||||
|  | ||||
| @ -24,6 +24,7 @@ | ||||
| #include "util/thread-stack.h" | ||||
| #include <linux/bitmap.h> | ||||
| #include <linux/stringify.h> | ||||
| #include <linux/time64.h> | ||||
| #include "asm/bug.h" | ||||
| #include "util/mem-events.h" | ||||
| 
 | ||||
| @ -464,9 +465,9 @@ static void print_sample_start(struct perf_sample *sample, | ||||
| 
 | ||||
| 	if (PRINT_FIELD(TIME)) { | ||||
| 		nsecs = sample->time; | ||||
| 		secs = nsecs / NSECS_PER_SEC; | ||||
| 		nsecs -= secs * NSECS_PER_SEC; | ||||
| 		usecs = nsecs / NSECS_PER_USEC; | ||||
| 		secs = nsecs / NSEC_PER_SEC; | ||||
| 		nsecs -= secs * NSEC_PER_SEC; | ||||
| 		usecs = nsecs / NSEC_PER_USEC; | ||||
| 		if (nanosecs) | ||||
| 			printf("%5lu.%09llu: ", secs, nsecs); | ||||
| 		else | ||||
|  | ||||
| @ -65,6 +65,7 @@ | ||||
| #include "util/group.h" | ||||
| #include "asm/bug.h" | ||||
| 
 | ||||
| #include <linux/time64.h> | ||||
| #include <api/fs/fs.h> | ||||
| #include <stdlib.h> | ||||
| #include <sys/prctl.h> | ||||
| @ -354,7 +355,7 @@ static void process_interval(void) | ||||
| 	diff_timespec(&rs, &ts, &ref_time); | ||||
| 
 | ||||
| 	if (STAT_RECORD) { | ||||
| 		if (WRITE_STAT_ROUND_EVENT(rs.tv_sec * NSECS_PER_SEC + rs.tv_nsec, INTERVAL)) | ||||
| 		if (WRITE_STAT_ROUND_EVENT(rs.tv_sec * NSEC_PER_SEC + rs.tv_nsec, INTERVAL)) | ||||
| 			pr_err("failed to write stat round event\n"); | ||||
| 	} | ||||
| 
 | ||||
| @ -2175,8 +2176,8 @@ static int process_stat_round_event(struct perf_tool *tool __maybe_unused, | ||||
| 		update_stats(&walltime_nsecs_stats, stat_round->time); | ||||
| 
 | ||||
| 	if (stat_config.interval && stat_round->time) { | ||||
| 		tsh.tv_sec  = stat_round->time / NSECS_PER_SEC; | ||||
| 		tsh.tv_nsec = stat_round->time % NSECS_PER_SEC; | ||||
| 		tsh.tv_sec  = stat_round->time / NSEC_PER_SEC; | ||||
| 		tsh.tv_nsec = stat_round->time % NSEC_PER_SEC; | ||||
| 		ts = &tsh; | ||||
| 	} | ||||
| 
 | ||||
|  | ||||
| @ -45,6 +45,7 @@ | ||||
| #include <linux/audit.h> | ||||
| #include <linux/random.h> | ||||
| #include <linux/stringify.h> | ||||
| #include <linux/time64.h> | ||||
| 
 | ||||
| #ifndef O_CLOEXEC | ||||
| # define O_CLOEXEC		02000000 | ||||
|  | ||||
| @ -14,13 +14,6 @@ void test_attr__open(struct perf_event_attr *attr, pid_t pid, int cpu, | ||||
| #define HAVE_ATTR_TEST | ||||
| #include "perf-sys.h" | ||||
| 
 | ||||
| #ifndef NSEC_PER_SEC | ||||
| # define NSEC_PER_SEC			1000000000ULL | ||||
| #endif | ||||
| #ifndef NSEC_PER_USEC | ||||
| # define NSEC_PER_USEC			1000ULL | ||||
| #endif | ||||
| 
 | ||||
| static inline unsigned long long rdclock(void) | ||||
| { | ||||
| 	struct timespec ts; | ||||
|  | ||||
| @ -6,6 +6,7 @@ | ||||
| #include <stdarg.h> | ||||
| #include <stdio.h> | ||||
| #include <api/debug.h> | ||||
| #include <linux/time64.h> | ||||
| 
 | ||||
| #include "cache.h" | ||||
| #include "color.h" | ||||
| @ -14,9 +15,6 @@ | ||||
| #include "util.h" | ||||
| #include "target.h" | ||||
| 
 | ||||
| #define NSECS_PER_SEC  1000000000ULL | ||||
| #define NSECS_PER_USEC 1000ULL | ||||
| 
 | ||||
| int verbose; | ||||
| bool dump_trace = false, quiet = false; | ||||
| int debug_ordered_events; | ||||
| @ -54,9 +52,9 @@ static int veprintf_time(u64 t, const char *fmt, va_list args) | ||||
| 	int ret = 0; | ||||
| 	u64 secs, usecs, nsecs = t; | ||||
| 
 | ||||
| 	secs   = nsecs / NSECS_PER_SEC; | ||||
| 	nsecs -= secs  * NSECS_PER_SEC; | ||||
| 	usecs  = nsecs / NSECS_PER_USEC; | ||||
| 	secs   = nsecs / NSEC_PER_SEC; | ||||
| 	nsecs -= secs  * NSEC_PER_SEC; | ||||
| 	usecs  = nsecs / NSEC_PER_USEC; | ||||
| 
 | ||||
| 	ret = fprintf(stderr, "[%13" PRIu64 ".%06" PRIu64 "] ", | ||||
| 		      secs, usecs); | ||||
|  | ||||
| @ -25,6 +25,7 @@ | ||||
| #include <ctype.h> | ||||
| #include <errno.h> | ||||
| #include <linux/bitmap.h> | ||||
| #include <linux/time64.h> | ||||
| 
 | ||||
| #include "../util.h" | ||||
| #include <EXTERN.h> | ||||
| @ -359,8 +360,8 @@ static void perl_process_tracepoint(struct perf_sample *sample, | ||||
| 	if (!test_and_set_bit(event->id, events_defined)) | ||||
| 		define_event_symbols(event, handler, event->print_fmt.args); | ||||
| 
 | ||||
| 	s = nsecs / NSECS_PER_SEC; | ||||
| 	ns = nsecs - s * NSECS_PER_SEC; | ||||
| 	s = nsecs / NSEC_PER_SEC; | ||||
| 	ns = nsecs - s * NSEC_PER_SEC; | ||||
| 
 | ||||
| 	scripting_context->event_data = data; | ||||
| 	scripting_context->pevent = evsel->tp_format->pevent; | ||||
|  | ||||
| @ -27,6 +27,7 @@ | ||||
| #include <stdbool.h> | ||||
| #include <errno.h> | ||||
| #include <linux/bitmap.h> | ||||
| #include <linux/time64.h> | ||||
| 
 | ||||
| #include "../../perf.h" | ||||
| #include "../debug.h" | ||||
| @ -426,8 +427,8 @@ static void python_process_tracepoint(struct perf_sample *sample, | ||||
| 		if (!dict) | ||||
| 			Py_FatalError("couldn't create Python dict"); | ||||
| 	} | ||||
| 	s = nsecs / NSECS_PER_SEC; | ||||
| 	ns = nsecs - s * NSECS_PER_SEC; | ||||
| 	s = nsecs / NSEC_PER_SEC; | ||||
| 	ns = nsecs - s * NSEC_PER_SEC; | ||||
| 
 | ||||
| 	scripting_context->event_data = data; | ||||
| 	scripting_context->pevent = evsel->tp_format->pevent; | ||||
|  | ||||
| @ -15,6 +15,7 @@ | ||||
| #include <byteswap.h> | ||||
| #include <linux/kernel.h> | ||||
| #include <linux/log2.h> | ||||
| #include <linux/time64.h> | ||||
| #include <unistd.h> | ||||
| #include "callchain.h" | ||||
| #include "strlist.h" | ||||
|  | ||||
| @ -179,10 +179,6 @@ static inline void *zalloc(size_t size) | ||||
| #undef tolower | ||||
| #undef toupper | ||||
| 
 | ||||
| #ifndef NSEC_PER_MSEC | ||||
| #define NSEC_PER_MSEC	1000000L | ||||
| #endif | ||||
| 
 | ||||
| int parse_nsec_time(const char *str, u64 *ptime); | ||||
| 
 | ||||
| extern unsigned char sane_ctype[256]; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user