From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754330AbcCSL6V (ORCPT ); Sat, 19 Mar 2016 07:58:21 -0400 Received: from mail-wm0-f43.google.com ([74.125.82.43]:38805 "EHLO mail-wm0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753379AbcCSL6U (ORCPT ); Sat, 19 Mar 2016 07:58:20 -0400 From: Jakub Jelen To: linux-kernel@vger.kernel.org Cc: Alexander Shishkin , Arnaldo Carvalho de Melo , Ingo Molnar , Peter Zijlstra , trivial@kernel.org, Jakub Jelen , Jakub Jelen Subject: [PATCH] perf bench numa: Fix assertion for nodes bitfield Date: Sat, 19 Mar 2016 12:58:07 +0100 Message-Id: <1458388687-24421-1-git-send-email-jakuje@gmail.com> X-Mailer: git-send-email 2.5.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Comparing bits and bytes in numa benchmark assertion I hit the issue on two socket Power8 machine presenting its numa nodes as 0,1,16,17 (according to numactl). Therefore I got error (and hang of parent process): perf: bench/numa.c:296: bind_to_memnode: Assertion `!(g->p.nr_nodes > (int)sizeof(nodemask))' failed. This is obviously false positive. We can fit all the 18 nodes into bitfield of 8 bytes (long on 64b architecture). Signed-off-by: Jakub Jelen --- Hello kernel list. This is my first patch for kernel, so if I missed some of the guidelines, please be patient :) I hope everything is explained in the commit message. Thanks, Jakub tools/perf/bench/numa.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/bench/numa.c b/tools/perf/bench/numa.c index 870b7e6..5276b24 100644 --- a/tools/perf/bench/numa.c +++ b/tools/perf/bench/numa.c @@ -293,7 +293,7 @@ static void bind_to_memnode(int node) if (node == -1) return; - BUG_ON(g->p.nr_nodes > (int)sizeof(nodemask)); + BUG_ON(g->p.nr_nodes > (int)sizeof(nodemask)*8); nodemask = 1L << node; ret = set_mempolicy(MPOL_BIND, &nodemask, sizeof(nodemask)*8); -- 2.5.0