From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-f65.google.com (mail-ed1-f65.google.com [209.85.208.65]) by dpdk.org (Postfix) with ESMTP id 506BA2082 for ; Tue, 6 Nov 2018 10:32:14 +0100 (CET) Received: by mail-ed1-f65.google.com with SMTP id w25so3988595edx.6 for ; Tue, 06 Nov 2018 01:32:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netronome-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=QGcCghnmZSWZQlAVwbZEJeewqFE3fsTTppUHWZ1dWGw=; b=1oBeQh6Tnot0VFr1YnOTbuYJYxOgjbW/eZ4wGsyOI9+GEqdeZhPEXJ+OYTKKADXhbE fCj+g5/lQxMS7SpX7AOEA7BiJ+H3z8HpUtiC5ok9fxNX+3+5HKpH69RPJvPlxDRmjMUM Xo8MJZKTo4EAkKPSbgLdBuFNgcXWjLmicsmfBhzG+ceMrynExavp73lf0M/ZieHMF3ez G6JyoXtc7h+hRTO5QLI5ZoYk2qChS5OPidP7TvVybIAhHzlf4sahwBk/va1lUpojZTkB GCPq1JAPpflOg++kFpFzoJliwiGg4gaXYb6f4i5CaS6Gx9Pa71KbmJzbmOGgaFWBYU7X /OvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=QGcCghnmZSWZQlAVwbZEJeewqFE3fsTTppUHWZ1dWGw=; b=XZuq/M+lNY0cSdsY77998nmCVIdxURyQYxMdvjQtA0XsFseKJ6AjxiuWPRR7AqS9Fx qyV97FC6PhphNgvOcOtGp8DWcJcj3SfK33zf3BWlM1aMtMFG3zpwB/rVIYT+YQm5Tph0 /KOZo51pV8CiyJZutwVhd7RszS7O5FFyVtdiyTw2rzpHje7Pbto/UvoSeGmG6khJY9NI 4c/ypnf2RJ8iXrseL4Bo+ggH2FMXlvUmfsVRTntfPxk+HHRVqeltEIJesULchMGB7s8O ARcjY9/Fuo7ZpYp4ipi2dkgmTv9/gndNMzOb4g7ZcR+sGBlhcAUdKBY4AmBWAKS39ive IZvg== X-Gm-Message-State: AGRZ1gK6kEZM33rQ25N8/JjTJH3QxWi8x4puuzykB+5rrvga0w//pOkN BGjBMDZyGfigHBCW7y4xAN25y7jTKapaWk+DhOaizA== X-Google-Smtp-Source: AJdET5cdXnjXInAUQs03IguYTFbNuXNDLF/K8gPEqcCqtuiXvhjZ+1oSTidd438ed7Ed8GCLVfUDDQoW2z+8aS/SGhc= X-Received: by 2002:a50:86e7:: with SMTP id 36-v6mr20314387edu.104.1541496733957; Tue, 06 Nov 2018 01:32:13 -0800 (PST) MIME-Version: 1.0 References: <20181101195330.19464-1-alejandro.lucero@netronome.com> <20181101195330.19464-6-alejandro.lucero@netronome.com> <8688172CD5C0B74590FAE19D9579F94B535FDD90@SHSMSX103.ccr.corp.intel.com> <72c61eb1-4dca-e16c-54f7-b14d2ba1ae4c@intel.com> In-Reply-To: From: Alejandro Lucero Date: Tue, 6 Nov 2018 09:32:04 +0000 Message-ID: To: "Burakov, Anatoly" Cc: wenjiex.a.li@intel.com, dev , Ferruh Yigit , xueqin.lin@intel.com Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH v2 5/7] mem: modify error message for DMA mask check 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: Tue, 06 Nov 2018 09:32:14 -0000 On Mon, Nov 5, 2018 at 4:35 PM Burakov, Anatoly wrote: > On 05-Nov-18 3:33 PM, Alejandro Lucero wrote: > > > > > > On Mon, Nov 5, 2018 at 3:12 PM Burakov, Anatoly > > > wrote: > > > > On 05-Nov-18 10:13 AM, Alejandro Lucero wrote: > > > On Mon, Nov 5, 2018 at 10:01 AM Li, WenjieX A > > > > > > wrote: > > > > > >> 1. With GCC32, testpmd could not startup without '--iova-mode > pa'. > > >> ./i686-native-linuxapp-gcc/app/testpmd -c f -n 4 -- -i > > >> The output is: > > >> EAL: Detected 16 lcore(s) > > >> EAL: Detected 1 NUMA nodes > > >> EAL: Multi-process socket /var/run/dpdk/rte/mp_socket > > >> EAL: Some devices want iova as va but pa will be used because.. > > EAL: few > > >> device bound to UIO > > >> EAL: No free hugepages reported in hugepages-1048576kB > > >> EAL: Probing VFIO support... > > >> EAL: VFIO support initialized > > >> EAL: wrong dma mask size 48 (Max: 31) > > >> EAL: alloc_pages_on_heap(): couldn't allocate memory due to IOVA > > exceeding > > >> limits of current DMA mask > > >> error allocating rte services array > > >> EAL: FATAL: rte_service_init() failed > > >> EAL: rte_service_init() failed > > >> PANIC in main(): > > >> Cannot init EAL > > >> 5: [./i686-native-linuxapp-gcc/app/testpmd(+0x95fda) > [0x56606fda]] > > >> 4: [/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf6) > > [0xf74d1276]] > > >> 3: [./i686-native-linuxapp-gcc/app/testpmd(main+0xf21) > [0x565fcee1]] > > >> 2: [./i686-native-linuxapp-gcc/app/testpmd(__rte_panic+0x3d) > > [0x565edc68]] > > >> 1: [./i686-native-linuxapp-gcc/app/testpmd(rte_dump_stack+0x33) > > >> [0x5675f333]] > > >> Aborted > > >> > > >> 2. With '--iova-mode pa', testpmd could startup. > > >> 3. With GCC64, there is no such issue. > > >> Thanks! > > >> > > >> > > > Does 32 bits support require IOMMU? It would be a surprise. If > > there is no > > > IOMMU hardware, no dma mask should be there at all. > > > > IOMMU is supported on 32-bits, however limited the address space > might > > be. Maybe limit IOMMU width to RTE_MIN(31, value) bits for > > everything on > > 32-bit? > > > > > > If IOMMU is supported in 32 bits, then the DMA mask check should not be > > happening. AFAIK, the IOMMU hardware addressing limitations is a problem > > only in 64 bits systems. The worst situation I have head of is 39 bits > > for virtualized IOMMU with QEMU. > > > > I would prefer not to invoke rte_mem_set_dma_mask for 32 bits system for > > the Intel IOMMU case. The only other dma mask client is the NFP PMD and > > we do not support 32 bits systems. > > > > I don't think not invoking DMA mask check is the right choice here. In > practice it may be, but i'd rather the behavior to be "correct", if at > all possible :) It is theoretically possible to have an IOMMU with an > addressing limitation of, say, 30 bits (even though they don't exist in > reality), so therefore our code should handle it, should it encounter > one, and it should also handle the "proper" ones correctly (as in, treat > them as 32-bit-limited instead of 39- or 48-bit-limited). > > Fine. The problem is the current sanity check about the dma mask width, what is 31 for 32 bits systems. Should we just leave a single max dma width to 63? This covers the possibility of 32 bit systems integrating an IOMMU designed for 64 bits. I really doubt this is a real possibility in x86, although I can see it more likely in embedded systems where this sort of hardware components integration happens. > > > -- > > Thanks, > > Anatoly > > > > > -- > Thanks, > Anatoly >