From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by dpdk.org (Postfix) with ESMTP id 7B8D67E7C for ; Wed, 10 Dec 2014 09:48:27 +0100 (CET) Received: from zmail14.collab.prod.int.phx2.redhat.com (zmail14.collab.prod.int.phx2.redhat.com [10.5.83.16]) by mx6-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sBA8mP0l023946; Wed, 10 Dec 2014 03:48:25 -0500 Date: Wed, 10 Dec 2014 03:48:25 -0500 (EST) From: Jincheng Miao To: Thomas Monjalon Message-ID: <957926828.25865702.1418201305408.JavaMail.zimbra@redhat.com> In-Reply-To: <1663200.Cog0FQ0fDE@xps13> References: <1418182383-5744-1-git-send-email-jmiao@redhat.com> <1418182383-5744-4-git-send-email-jmiao@redhat.com> <1663200.Cog0FQ0fDE@xps13> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.5.82.11] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - GC39 (Linux)/8.0.6_GA_5922) Thread-Topic: replace strict_strtoul with kstrtoul Thread-Index: /0WvsvDugmrsIO4t821geMfiOrwv/g== Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH 3/4] kni: replace strict_strtoul with kstrtoul X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Dec 2014 08:48:27 -0000 ----- Original Message ----- > Hi Jincheng, > > 2014-12-10 11:33, Jincheng Miao: > > From upstream kernel commit 3db2e9cd, strict_strto* serial functions > > are removed. So that we should directly used kstrtoul instead. > > > > And add kni/compat.h for be compatible with older kernel. > > > > Signed-off-by: Jincheng Miao > [...] > > new file mode 100644 > > index 0000000..c8c662c > > --- /dev/null > > +++ b/lib/librte_eal/linuxapp/kni/compat.h > > @@ -0,0 +1,16 @@ > > +/* > > + * Minimal wrappers to allow compiling kni on older kernels. > > + */ > > + > > +#ifndef RHEL_RELEASE_VERSION > > +#define RHEL_RELEASE_VERSION(a, b) (((a) << 8) + (b)) > > +#endif > > + > > +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39) && \ > > + (!(defined(RHEL_RELEASE_CODE) && \ > > + RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6, 4))) > > The first indent character must be a tab (highlighted by checkpatch). Yes, I think the TAB is replaced by my vim :( > > [...] > > --- a/lib/librte_eal/linuxapp/kni/kni_vhost.c > > +++ b/lib/librte_eal/linuxapp/kni/kni_vhost.c > > @@ -740,7 +740,7 @@ set_sock_en(struct device *dev, struct device_attribute > > *attr, > > unsigned long en; > > int err = 0; > > > > - if (0 != strict_strtoul(buf, 0, &en)) > > + if (0 != kstrtoul(buf, 0, &en)) > > return -EINVAL; > > > > if (en) > > It seems you forgot to include the new compat.h. > > Did you do some tests with different Fedora/RHEL versions? Yes, missing compat.h in kni_vhost.c. And, I want to get your opinion about adding compat.h to kni and xen_dom0. The pros: easy to implement and minimal wrapper for older kernel. The cons: there is so many compat.h, and the file kcompat.h also makes user confuse. > > Thanks > -- > Thomas >