From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============1436816476791030855==" MIME-Version: 1.0 From: Walker, Benjamin Subject: Re: [SPDK] Running nvmf target as non-root Date: Wed, 15 May 2019 18:12:56 +0000 Message-ID: <22eb01877935a036ae15a7ee26da19a5ad1f5f63.camel@intel.com> In-Reply-To: CAHUk8cTAwj+1tBwZyDm1Q98PqZhrwmRP48GYzog09GYK5wiGLQ@mail.gmail.com List-ID: To: spdk@lists.01.org --===============1436816476791030855== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Tue, 2019-05-14 at 13:16 -0600, Michael Haeuptle wrote: > Hello, > = > I was wondering if it is possible to run apps like nvmf target as a > non-root user. > = > I read the sections about pagemap/IOMMU in both DPDK and SPDK and I'm not > sure if it is possible or not from the text. > = > In any case, I enabled IOMMU via the grub command line and loaded vfio-pci > but I'm still getting an error: > = > Starting SPDK v19.04 / DPDK 19.02.0 initialization... > [ DPDK EAL parameters: nvgrid --no-shconf -c 0x1 --log-level=3Dlib.eal:6 > --base-virtaddr=3D0x200000000000 --match-allocations > --file-prefix=3Dspdk_pid6059 ] > EAL: VFIO support initialized > EAL: Cannot obtain physical addresses: Success. Only vfio will function. > error allocating rte services array > EAL: FATAL: rte_service_init() failed > EAL: rte_service_init() failed > Failed to initialize DPDK In theory, yes it is possible to run the NVMe-oF target as a non-root user. Historically we've even had it working (we contributed the patches to DPDK = to make it work). But we don't have automated tests for this, and DPDK doesn't either, so periodically the functionality goes stale. Based on the error me= ssage you are seeing, I think that is what happened here - this new rte_service_i= nit code in DPDK is doing something that requires root when it shouldn't be. I think we need to address the testing issue prior to fixing whatever the b= ug is. We already have a set of tests running on a physical system with the IO= MMU enabled, so it should be as simple as dropping privileges in the test script when it goes to run the NVMe-oF target, if the IOMMU is enabled. I'm going = to give this a shot and see how it works out. > = > I'm seeing this message in dmesg after enabling iommu in grub (but nothing > else). > [ 0.000000] DMAR: IOMMU enabled > = > Thanks. > = > -- Michael > _______________________________________________ > SPDK mailing list > SPDK(a)lists.01.org > https://lists.01.org/mailman/listinfo/spdk --===============1436816476791030855==--