From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail1.windriver.com (mail1.windriver.com [147.11.146.13]) by dpdk.org (Postfix) with ESMTP id 42EA4567F for ; Mon, 1 May 2017 17:33:51 +0200 (CEST) Received: from ALA-HCA.corp.ad.wrs.com (ala-hca.corp.ad.wrs.com [147.11.189.40]) by mail1.windriver.com (8.15.2/8.15.1) with ESMTPS id v41FXoow027673 (version=TLSv1 cipher=AES128-SHA bits=128 verify=FAIL); Mon, 1 May 2017 08:33:50 -0700 (PDT) Received: from yow-masselst-lx1.localnet (128.224.21.51) by ALA-HCA.corp.ad.wrs.com (147.11.189.50) with Microsoft SMTP Server id 14.3.294.0; Mon, 1 May 2017 08:33:50 -0700 From: Mark Asselstine To: Thomas Monjalon CC: alloc , , "Wang, Weiwei" Date: Mon, 1 May 2017 11:33:49 -0400 Message-ID: <4627597.6XQZM4AtIa@yow-masselst-lx1> Organization: Wind River User-Agent: KMail/5.2.3 (Linux/4.8.0-46-generic; KDE/5.26.0; x86_64; ; ) In-Reply-To: <1959888.bZH0xSPdBI@yow-masselst-lx1> References: <24c64816-8084-b5fd-0b10-3db3143500ec@windriver.com> <3349839.Ts7blMUiL7@xps> <1959888.bZH0xSPdBI@yow-masselst-lx1> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Mailman-Approved-At: Mon, 01 May 2017 18:29:43 +0200 Subject: Re: [dpdk-dev] [PATCH] tools/dpdkdevbind.py: remove call to lower case for mod path X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 May 2017 15:33:52 -0000 On Monday, May 1, 2017 11:24:13 AM EDT Mark Asselstine wrote: > On Friday, April 28, 2017 11:38:17 AM EDT Thomas Monjalon wrote: > > 25/11/2016 04:16, alloc: > > > If the module path has upper case chars, the dpdk-devbind.py script will > > > crunch them to lower case. This will result in the script never > > > finding a module. > > > > I wonder why this "lower" was done. > > I'm afraid we are missing something. > > Nobody else is complaining about this issue. > > Please confirm it is a real issue. > > The commit (d6537e6a7432ea9cf39fc4ab2112d4bce0e9fe57) that brought in the > lower() call does not document any specific reason for its inclusion. So > unfortunalely we can't rely on historic wisdom to rule out this change. > > We can however look at the source to determine that the lower() call is > bogus. > > --- usertools/dpdk-devbind.py --- > # check using depmod > try: > depmod_out = check_output(["modinfo", "-n", mod], > stderr=subprocess.STDOUT).lower() > if "error" not in depmod_out: Actually, looking at this I can see only one reason for the lower(), and that is to catch 'ERROR vs. Error vs. error vs. ...". So Alloc can you make an additionaly change and in the line above change it to: if "error" not in depmod_out.lower(): That should address any concerns. Of course this still leaves a corner case of 'error' being in the path, but the place this would exist would be in the kernel version and extra-version and I doubt many folks put 'error' in there. Mark > path = depmod_out.strip() > if exists(path): > return path > except: # if modinfo can't find module, it fails, so continue > pass > --- > From this we know that depmod_out will have the lowercase version of the > path to the module. We also know that exists() is case sensitive and > therein lies the issue. Since the path to the module will include kernel > attributes the only reason folks may not be seeing this issue as that the > attributes are only numbers, periods and lowercase alpha chars. Add a singe > upper alpha char in the kernel extended name and users will have this > issue, as we have seen it. > > Can Alloc improve the commit log to make this clear, sure. But the change is > good and should be merged. > > Mark