path: root/tools/perf/util/util.h
diff options
authorNelson Elhage <nelhage@nelhage.com>2011-12-19 08:39:32 -0500
committerArnaldo Carvalho de Melo <acme@redhat.com>2011-12-23 16:53:58 -0200
commit41d0d933494ce10eb77758a1168b08e317c42e8e (patch)
treef907773714846b5b5cf85b4f450bb6fe07b168d4 /tools/perf/util/util.h
parent18e6093904abfd51671ff5846c2fdaba9ebbf21b (diff)
perf: builtin-record: Document and check that mmap_pages must be a power of two.
Now that we automatically point users at it, let's provide them some guidance so that they hopefully don't just get mysterious EINVAL's from the kernel. Cc: Ingo Molnar <mingo@elte.hu> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1324301972-22740-4-git-send-email-nelhage@nelhage.com Signed-off-by: Nelson Elhage <nelhage@nelhage.com> [ committer note: Made it work after 50a682c ] Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/util.h')
1 files changed, 11 insertions, 0 deletions
diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h
index 0128906bac88..37be34dff798 100644
--- a/tools/perf/util/util.h
+++ b/tools/perf/util/util.h
@@ -245,4 +245,15 @@ int readn(int fd, void *buf, size_t size);
#define _STR(x) #x
#define STR(x) _STR(x)
+ * Determine whether some value is a power of two, where zero is
+ * *not* considered a power of two.
+ */
+static inline __attribute__((const))
+bool is_power_of_2(unsigned long n)
+ return (n != 0 && ((n & (n - 1)) == 0));