From mboxrd@z Thu Jan 1 00:00:00 1970 From: Cornelia Huck Subject: Re: [PATCH] tools/virtio/ringtest: fix run-on-all.sh to work without /dev/cpu Date: Wed, 4 May 2016 08:40:21 +0200 Message-ID: <20160504084021.18cf98f0.cornelia.huck@de.ibm.com> References: <1462342376-16065-1-git-send-email-rppt@linux.vnet.ibm.com> <1462342376-16065-2-git-send-email-rppt@linux.vnet.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: "Michael S. Tsirkin" , kvm@vger.kernel.org, virtualization@lists.linux-foundation.org To: Mike Rapoport Return-path: Received: from e06smtp05.uk.ibm.com ([195.75.94.101]:34136 "EHLO e06smtp05.uk.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757199AbcEDGk1 (ORCPT ); Wed, 4 May 2016 02:40:27 -0400 Received: from localhost by e06smtp05.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 4 May 2016 07:40:25 +0100 Received: from b06cxnps3074.portsmouth.uk.ibm.com (d06relay09.portsmouth.uk.ibm.com [9.149.109.194]) by d06dlp03.portsmouth.uk.ibm.com (Postfix) with ESMTP id 769E11B0806E for ; Wed, 4 May 2016 07:41:13 +0100 (BST) Received: from d06av09.portsmouth.uk.ibm.com (d06av09.portsmouth.uk.ibm.com [9.149.37.250]) by b06cxnps3074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u446eM6960489934 for ; Wed, 4 May 2016 06:40:22 GMT Received: from d06av09.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av09.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u446eME5014634 for ; Wed, 4 May 2016 00:40:22 -0600 In-Reply-To: <1462342376-16065-2-git-send-email-rppt@linux.vnet.ibm.com> Sender: kvm-owner@vger.kernel.org List-ID: On Wed, 4 May 2016 09:12:56 +0300 Mike Rapoport wrote: > /dev/cpu is only available on x86 with certain modules (e.g. msr) enabled. > Using /proc/cpuinfo to get processors count is more portable. > > Signed-off-by: Mike Rapoport > --- > tools/virtio/ringtest/run-on-all.sh | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tools/virtio/ringtest/run-on-all.sh b/tools/virtio/ringtest/run-on-all.sh > index 52b0f71..38ccfa3 100755 > --- a/tools/virtio/ringtest/run-on-all.sh > +++ b/tools/virtio/ringtest/run-on-all.sh > @@ -3,10 +3,10 @@ > #use last CPU for host. Why not the first? > #many devices tend to use cpu0 by default so > #it tends to be busier > -HOST_AFFINITY=$(cd /dev/cpu; ls|grep -v '[a-z]'|sort -n|tail -1) > +HOST_AFFINITY=$(($(grep -c processor /proc/cpuinfo) - 1)) > > #run command on all cpus > -for cpu in $(cd /dev/cpu; ls|grep -v '[a-z]'|sort -n); > +for cpu in $(seq 0 $HOST_AFFINITY) > do > #Don't run guest and host on same CPU > #It actually works ok if using signalling As you're touching this anyway: Is there any way to avoid the architecture-specific /proc/cpuinfo and do whatever lscpu does?