From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wg0-f48.google.com (mail-wg0-f48.google.com [74.125.82.48]) by dpdk.org (Postfix) with ESMTP id 4B98D804B for ; Thu, 11 Dec 2014 02:01:22 +0100 (CET) Received: by mail-wg0-f48.google.com with SMTP id y19so5077918wgg.21 for ; Wed, 10 Dec 2014 17:01:22 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:organization :user-agent:in-reply-to:references:mime-version :content-transfer-encoding:content-type; bh=jYTqKczakLMg85RyzIFD/2aluQm0DPOgnjHqydumHBk=; b=h9WKHI8zUnn28Kg1McnpXT+AadK3G/dVLOCAtg8dl528KY6+36PQztmZefe0JgDXCk AxeefpHEhzVY1UFGyX+rarR3yEJCqKrr6/MnQa/LLrtDE8lgpVNekSWfaO71ST+nE88h 3uw2Bxbpa5Qc4YETBlybmZxxH+1ijRF8z+cquV+pWqDOuSRrIc9pvRdNXyGGmClQmobD 2FFLB8ZquO/1ZG9Ip7DELSSDMGfT7mA4w3W8bQUssf4QOcav6OOuZcqb3b1FIXE4TN3N gbdlVN9rMz51Rz8yy+p5SBHV9bkk12cWbBEE27EeEBqFv81BOsNsW4PDp4eoHvuC6Cxz pT4A== X-Gm-Message-State: ALoCoQkwh9p6QS2PPWf156I1dGGG1eZJ4ftcx7pytyCTmyK1FQa949l7afIKHRi+9JC2inaW5Pzm X-Received: by 10.180.102.135 with SMTP id fo7mr18037001wib.79.1418259682142; Wed, 10 Dec 2014 17:01:22 -0800 (PST) Received: from xps13.localnet ([88.249.222.12]) by mx.google.com with ESMTPSA id be4sm776941wib.16.2014.12.10.17.01.20 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 10 Dec 2014 17:01:21 -0800 (PST) From: Thomas Monjalon To: Jincheng Miao Date: Thu, 11 Dec 2014 02:00:54 +0100 Message-ID: <2625599.7LTLyGOcoF@xps13> Organization: 6WIND User-Agent: KMail/4.14.3 (Linux/3.17.4-1-ARCH; KDE/4.14.3; x86_64; ; ) In-Reply-To: <1418209443-1744-1-git-send-email-jmiao@redhat.com> References: <1418209443-1744-1-git-send-email-jmiao@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH v4 0/4] compatibility fallback and replacement of kernel function invoking 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: Thu, 11 Dec 2014 01:01:22 -0000 > The related kernel function is: > - pci_num_vf, it is introduced from upstream linux-2.6.34. For RHEL-b= ased > kernel, it is defined from RHEL5.9. >=20 > - kstrtoul, this function is united kernel API to replace strict_strt= oul in > the furture. It is introduced from linux-2.6.39. For RHEL6, it is def= ined > from RHEL6.4. >=20 > This patchset do some compatiblity work for these two functions, and > replace strict_strtoul which is depleted from linux-3.18. >=20 > Some test results for dpdk-1.8.0-rc3 with this patchset: > 1. In RHEL7 GA: Build success after specify -mssse3 to CFLAGS, > ``` > CC ixgbe_rxtx_vec.o > In file included from /root/dpdk-source/lib/librte_pmd_ixgbe/ixgbe_rx= tx_vec.c:41:0: > /usr/lib/gcc/x86_64-redhat-linux/4.8.2/include/tmmintrin.h:31:3: erro= r: #error "SSSE3 instruction set not enabled" > # error "SSSE3 instruction set not enabled" > ``` > - for igb_uio, pass > - for kni, pass > - for xen_dom0, pass >=20 >=20 > 2. In RHEL6.5 : Build fails for kni, and xen_dom0: > - for igb_uio: pass > - for kni: fail, the log is: > ``` > CC [M] /root/dpdk-source/build/build/lib/librte_eal/linuxapp/kni/kni_= vhost.o > /root/dpdk-source/build/build/lib/librte_eal/linuxapp/kni/kni_vhost.c= : In function =E2=80=98kni_sock_poll=E2=80=99: > /root/dpdk-source/build/build/lib/librte_eal/linuxapp/kni/kni_vhost.c= :222: error: =E2=80=98struct socket=E2=80=99 has no member named =E2=80= =98wq=E2=80=99 > /root/dpdk-source/build/build/lib/librte_eal/linuxapp/kni/kni_vhost.c= : In function =E2=80=98kni_chk_vhost_rx=E2=80=99: > /root/dpdk-source/build/build/lib/librte_eal/linuxapp/kni/kni_vhost.c= :313: error: implicit declaration of function =E2=80=98sk_sleep=E2=80=99= > cc1: warnings being treated as errors > /root/dpdk-source/build/build/lib/librte_eal/linuxapp/kni/kni_vhost.c= :313: error: passing argument 1 of =E2=80=98__wake_up=E2=80=99 makes po= inter from integer without a cast > include/linux/wait.h:146: note: expected =E2=80=98struct wait_queue_h= ead_t *=E2=80=99 but argument is of type =E2=80=98int=E2=80=99 > /root/dpdk-source/build/build/lib/librte_eal/linuxapp/kni/kni_vhost.c= : In function =E2=80=98kni_sk_write_space=E2=80=99: > /root/dpdk-source/build/build/lib/librte_eal/linuxapp/kni/kni_vhost.c= :580: error: assignment makes pointer from integer without a cast > make[8]: *** [/root/dpdk-source/build/build/lib/librte_eal/linuxapp/k= ni/kni_vhost.o] Error 1 > ``` Do you plan to work on a fix for KNI on RHEL 6.5? > - for xen_dom0: fail, seems xen is not offical supported in RHEL6. >=20 > v4: > Indent for patches. > Include compat.h for kni_vhost.c >=20 > v3: > Adjust pci_num_vf() introduced RHEL version number. > Seperate "replace strict_strtoul with kstrtoul" into 3 patches for = igb_uio, > kni, and xen_dom0. Add compat.h in kni and xen_dom0 for compatible wi= th > older kernels. >=20 > v2: > Merge these two patch in one patchset. > Compatible with old kernel for kstrtoul. > Compatible with RHEL6 for pci_num_vf. >=20 > Jincheng Miao (4): > igb_uio: compatible with upstream longterm kernel and RHEL > igb_uio: replace strict_strtoul with kstrtoul > kni: replace strict_strtoul with kstrtoul > xen_dom0: replace strict_strtoul with kstrtoul Acked-by: Thomas Monjalon Applied Thanks --=20 Thomas