From mboxrd@z Thu Jan 1 00:00:00 1970 From: Santosh Shukla Subject: Re: [PATCH v7 2/4] virtio: Introduce config RTE_VIRTIO_INC_VECTOR Date: Mon, 8 Feb 2016 11:15:53 +0530 Message-ID: References: <1454853068-14621-1-git-send-email-sshukla@mvista.com> <1454853068-14621-3-git-send-email-sshukla@mvista.com> <2395124.Wzh8l6ZlGf@xps13> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: dev@dpdk.org To: Thomas Monjalon Return-path: Received: from mail-pf0-f178.google.com (mail-pf0-f178.google.com [209.85.192.178]) by dpdk.org (Postfix) with ESMTP id 5C8C9DE6 for ; Mon, 8 Feb 2016 06:45:54 +0100 (CET) Received: by mail-pf0-f178.google.com with SMTP id q63so422746pfb.0 for ; Sun, 07 Feb 2016 21:45:54 -0800 (PST) In-Reply-To: <2395124.Wzh8l6ZlGf@xps13> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Mon, Feb 8, 2016 at 2:55 AM, Thomas Monjalon wrote: > 2016-02-07 19:21, Santosh Shukla: >> - virtio_recv_pkts_vec and other virtio vector friend apis are written for >> sse/avx instructions. For arm64 in particular, virtio vector implementation >> does not exist(todo). >> >> So virtio pmd driver wont build for targets like i686, arm64. By making >> RTE_VIRTIO_INC_VECTOR=n, Driver can build for non-sse/avx targets and will work >> in non-vectored virtio mode. >> >> Disabling RTE_VIRTIO_INC_VECTOR config for : >> >> - i686 arch as i686 target config says: >> config/defconfig_i686-native-linuxapp-gcc says "Vectorized PMD is not >> supported on 32-bit". >> >> - armv7/v8 arch. > > Yes it can be useful to disable vector optimizations, but it should done > at runtime, not a compilation option. I know it is already wrongly configured > at compilation for other drivers, we should fix them. > Can't we consider this separate topic. My intent is virtio works for arm. > Here, you want to avoid SSE/AVX code on ARM. So we should just add the > appropriate ifdefs. Adding a compilation option does not prevent from enabling > it on ARM or old x86 which do not support these instructions. > By disabling VIRTIO_INC_VEC, compiler wont build virtio_recv_pkts_vec(), so wont generate SSE/AVX code. Adding ifdef for other arch example arm, is next step. Vector instruction for arm are not fully supported, Its a todolist (Pl. refer my early v1/2 cover-letter), We'll add that after virtio functionally works for arm. > Please virtio maintainers, we need to fix this code. Thanks