From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id E023C68BE for ; Thu, 11 Dec 2014 04:18:43 +0100 (CET) Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sBB3IfZg002632 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 10 Dec 2014 22:18:41 -0500 Received: from dhcp-66-71-51.eng.nay.redhat.com (dhcp-66-71-51.eng.nay.redhat.com [10.66.71.51] (may be forged)) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sBB3Ibdf028015; Wed, 10 Dec 2014 22:18:39 -0500 Message-ID: <54890C8F.7090107@redhat.com> Date: Thu, 11 Dec 2014 11:16:31 +0800 From: Jincheng Miao User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Thomas Monjalon References: <1418209443-1744-1-git-send-email-jmiao@redhat.com> <2625599.7LTLyGOcoF@xps13> In-Reply-To: <2625599.7LTLyGOcoF@xps13> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 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 03:18:44 -0000 On 12/11/2014 09:00 AM, Thomas Monjalon wrote: >> The related kernel function is: >> - pci_num_vf, it is introduced from upstream linux-2.6.34. For RHEL-based >> kernel, it is defined from RHEL5.9. >> >> - kstrtoul, this function is united kernel API to replace strict_strtoul in >> the furture. It is introduced from linux-2.6.39. For RHEL6, it is defined >> from RHEL6.4. >> >> This patchset do some compatiblity work for these two functions, and >> replace strict_strtoul which is depleted from linux-3.18. >> >> 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_rxtx_vec.c:41:0: >> /usr/lib/gcc/x86_64-redhat-linux/4.8.2/include/tmmintrin.h:31:3: error: #error "SSSE3 instruction set not enabled" >> # error "SSSE3 instruction set not enabled" >> ``` >> - for igb_uio, pass >> - for kni, pass >> - for xen_dom0, pass >> >> >> 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 ‘kni_sock_poll’: >> /root/dpdk-source/build/build/lib/librte_eal/linuxapp/kni/kni_vhost.c:222: error: ‘struct socket’ has no member named ‘wq’ >> /root/dpdk-source/build/build/lib/librte_eal/linuxapp/kni/kni_vhost.c: In function ‘kni_chk_vhost_rx’: >> /root/dpdk-source/build/build/lib/librte_eal/linuxapp/kni/kni_vhost.c:313: error: implicit declaration of function ‘sk_sleep’ >> 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 ‘__wake_up’ makes pointer from integer without a cast >> include/linux/wait.h:146: note: expected ‘struct wait_queue_head_t *’ but argument is of type ‘int’ >> /root/dpdk-source/build/build/lib/librte_eal/linuxapp/kni/kni_vhost.c: In function ‘kni_sk_write_space’: >> /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/kni/kni_vhost.o] Error 1 >> ``` > Do you plan to work on a fix for KNI on RHEL 6.5? Yep, I am working on this :) > >> - for xen_dom0: fail, seems xen is not offical supported in RHEL6. >> >> v4: >> Indent for patches. >> Include compat.h for kni_vhost.c >> >> 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 with >> older kernels. >> >> v2: >> Merge these two patch in one patchset. >> Compatible with old kernel for kstrtoul. >> Compatible with RHEL6 for pci_num_vf. >> >> 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