diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2009-04-08 09:01:32 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-04-08 13:05:55 -0400 |
commit | 4d855457d84b819fefcd1cd1b0a2a0a0ec475c07 (patch) | |
tree | 7d0875fd698119befe218e7d6f584fe59064982f /kernel/perf_counter.c | |
parent | de9ac07bbf8f51e0ce40e5428c3a8f627bd237c2 (diff) |
perf_counter: move PERF_RECORD_TIME
Move PERF_RECORD_TIME so that all the fixed length items come before
the variable length ones.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
LKML-Reference: <20090408130409.307926436@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/perf_counter.c')
-rw-r--r-- | kernel/perf_counter.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/kernel/perf_counter.c b/kernel/perf_counter.c index 2d4aebb2982b..4dc8600d2825 100644 --- a/kernel/perf_counter.c +++ b/kernel/perf_counter.c | |||
@@ -1850,6 +1850,16 @@ static void perf_counter_output(struct perf_counter *counter, | |||
1850 | header.size += sizeof(tid_entry); | 1850 | header.size += sizeof(tid_entry); |
1851 | } | 1851 | } |
1852 | 1852 | ||
1853 | if (record_type & PERF_RECORD_TIME) { | ||
1854 | /* | ||
1855 | * Maybe do better on x86 and provide cpu_clock_nmi() | ||
1856 | */ | ||
1857 | time = sched_clock(); | ||
1858 | |||
1859 | header.type |= PERF_RECORD_TIME; | ||
1860 | header.size += sizeof(u64); | ||
1861 | } | ||
1862 | |||
1853 | if (record_type & PERF_RECORD_GROUP) { | 1863 | if (record_type & PERF_RECORD_GROUP) { |
1854 | header.type |= PERF_RECORD_GROUP; | 1864 | header.type |= PERF_RECORD_GROUP; |
1855 | header.size += sizeof(u64) + | 1865 | header.size += sizeof(u64) + |
@@ -1867,16 +1877,6 @@ static void perf_counter_output(struct perf_counter *counter, | |||
1867 | } | 1877 | } |
1868 | } | 1878 | } |
1869 | 1879 | ||
1870 | if (record_type & PERF_RECORD_TIME) { | ||
1871 | /* | ||
1872 | * Maybe do better on x86 and provide cpu_clock_nmi() | ||
1873 | */ | ||
1874 | time = sched_clock(); | ||
1875 | |||
1876 | header.type |= PERF_RECORD_TIME; | ||
1877 | header.size += sizeof(u64); | ||
1878 | } | ||
1879 | |||
1880 | ret = perf_output_begin(&handle, counter, header.size, nmi, 1); | 1880 | ret = perf_output_begin(&handle, counter, header.size, nmi, 1); |
1881 | if (ret) | 1881 | if (ret) |
1882 | return; | 1882 | return; |
@@ -1889,6 +1889,9 @@ static void perf_counter_output(struct perf_counter *counter, | |||
1889 | if (record_type & PERF_RECORD_TID) | 1889 | if (record_type & PERF_RECORD_TID) |
1890 | perf_output_put(&handle, tid_entry); | 1890 | perf_output_put(&handle, tid_entry); |
1891 | 1891 | ||
1892 | if (record_type & PERF_RECORD_TIME) | ||
1893 | perf_output_put(&handle, time); | ||
1894 | |||
1892 | if (record_type & PERF_RECORD_GROUP) { | 1895 | if (record_type & PERF_RECORD_GROUP) { |
1893 | struct perf_counter *leader, *sub; | 1896 | struct perf_counter *leader, *sub; |
1894 | u64 nr = counter->nr_siblings; | 1897 | u64 nr = counter->nr_siblings; |
@@ -1910,9 +1913,6 @@ static void perf_counter_output(struct perf_counter *counter, | |||
1910 | if (callchain) | 1913 | if (callchain) |
1911 | perf_output_copy(&handle, callchain, callchain_size); | 1914 | perf_output_copy(&handle, callchain, callchain_size); |
1912 | 1915 | ||
1913 | if (record_type & PERF_RECORD_TIME) | ||
1914 | perf_output_put(&handle, time); | ||
1915 | |||
1916 | perf_output_end(&handle); | 1916 | perf_output_end(&handle); |
1917 | } | 1917 | } |
1918 | 1918 | ||