From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pd0-f175.google.com (mail-pd0-f175.google.com [209.85.192.175]) by dpdk.org (Postfix) with ESMTP id B31B437A4 for ; Thu, 26 Mar 2015 05:19:04 +0100 (CET) Received: by pdbop1 with SMTP id op1so50021733pdb.2 for ; Wed, 25 Mar 2015 21:19:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=jtDziWArl1dNF9NXg58/GjtwWgDL5ChMlpbj4AjdngE=; b=RNYYAs2k1RJvyF/I+hjHCcjVa8H+wZjwbmMff7o3FE5ISHciCuIXzfKz4o2oCWkJ4G 8FUII6Jz/Ap5bqXHJ5QwcC+XEo8wG3zOFbK3zHwspI5scc0XQe4MLDfJ8nBjcEkokSIs Nzn6cQrYQJA49lgBu23OebpSVAcIPtfjkNLBJPEVbLrPq5plSli53ABPRqsouPDVk4Sg BTWuNcP4v05hb+FV+n8wtlP7WUtPOMcxX8qWQv8OFte941VF297ziIPssqQWTdTyjFut TNIVZ5mGC++7lnwabkp1MF3h6taAeJvAsQKGHea/rrpkNh8c3oK5In7HHJ+Tz8ibHAyc AwPQ== X-Gm-Message-State: ALoCoQmMNRK4rfp1k8VFkgPrLsFs6y1hHDhO7tcN2C0BSMFUHiHI85y2tLSHRKuISdOdlYmD4Xyg X-Received: by 10.68.171.65 with SMTP id as1mr22970495pbc.33.1427343543925; Wed, 25 Mar 2015 21:19:03 -0700 (PDT) Received: from [10.16.129.101] (napt.igel.co.jp. [219.106.231.132]) by mx.google.com with ESMTPSA id jh2sm3969191pbb.25.2015.03.25.21.19.02 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 25 Mar 2015 21:19:03 -0700 (PDT) Message-ID: <551388B4.5000905@igel.co.jp> Date: Thu, 26 Mar 2015 13:19:00 +0900 From: Tetsuya Mukawa User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Stephen Hemminger References: <1426584645-28828-7-git-send-email-mukawa@igel.co.jp> <1427170717-13879-1-git-send-email-mukawa@igel.co.jp> <1427170717-13879-3-git-send-email-mukawa@igel.co.jp> <20150324113321.789c96a1@urahara> <551228CC.3000507@igel.co.jp> <20150324220752.45b4ca0e@urahara> In-Reply-To: <20150324220752.45b4ca0e@urahara> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH v2 2/6] eal: Close file descriptor of uio configuration 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, 26 Mar 2015 04:19:05 -0000 On 2015/03/25 14:07, Stephen Hemminger wrote: > On Wed, 25 Mar 2015 12:17:32 +0900 > Tetsuya Mukawa wrote: > >> On 2015/03/25 3:33, Stephen Hemminger wrote: >>> On Tue, 24 Mar 2015 13:18:33 +0900 >>> Tetsuya Mukawa wrote: >>> >>>> When pci_uio_unmap_resource() is called, a file descriptor that is used >>>> for uio configuration should be closed. >>>> >>>> Signed-off-by: Tetsuya Mukawa >>>> --- >>>> lib/librte_eal/linuxapp/eal/eal_pci_uio.c | 6 +++++- >>>> 1 file changed, 5 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/lib/librte_eal/linuxapp/eal/eal_pci_uio.c b/lib/librte_eal/linuxapp/eal/eal_pci_uio.c >>>> index 9cdf24f..f0277be 100644 >>>> --- a/lib/librte_eal/linuxapp/eal/eal_pci_uio.c >>>> +++ b/lib/librte_eal/linuxapp/eal/eal_pci_uio.c >>>> @@ -459,8 +459,12 @@ pci_uio_unmap_resource(struct rte_pci_device *dev) >>>> >>>> /* close fd if in primary process */ >>>> close(dev->intr_handle.fd); >>>> - >>>> dev->intr_handle.fd = -1; >>>> + >>>> + /* close cfg_fd if in primary process */ >>>> + close(dev->intr_handle.uio_cfg_fd); >>>> + dev->intr_handle.uio_cfg_fd = -1; >>>> + >>>> dev->intr_handle.type = RTE_INTR_HANDLE_UNKNOWN; >>>> } >>>> #endif /* RTE_LIBRTE_EAL_HOTPLUG */ >>> For the Qlogic/Broadcom driver it needed the config fd handle, and I added >>> generic config space access functions. >> Hi Stephen, >> >> Is this the patch you mentioned? >> http://dpdk.org/dev/patchwork/patch/3024/ >> >> >> Hi David, Bernard, Stephen >> >> I guess here are works we will need to do. >> 1. Add close(dev->config_fd) in Stephen's patch. >> 2. Write a patch for uio to merge "dev->intr_handle->uio_cfg_fd" and >> "dev->config_fd". >> 3. Write a patch for vfio to merge "dev->intr_handle->vfio_cfg_fd" and >> "dev->config_fd". >> >> If we already have these patches, I guess it may be nice to merge above >> patches first. >> Do you have a suggestion how to merge patches related with pci config fd? >> >> Thanks, >> Tetsuya >> > Yeah, that is the patch. It reopens config fd, it seems to overlap > this. Hi Stephen, David, Bernard, If you are OK, I will cherry pick below Stephen's patch, then put it on top of my patches. - http://dpdk.org/dev/patchwork/patch/3024/ Also I will write patches to merge following fds. - dev->config_fd - dev->intr_handle->uio_cfg_fd - dev->intr_handle->vfio_cfg_fd Is this direction OK? Stephen, For uio, I guess it will be OK that I just replace pread/pwrite by your APIs. But for vfio, I need to write a function to wrap vfio ioctl. May be rte_eal_pci_ioctl_config()? And replace all vfio ioctls by the function. Is this correct way to adopt your APIs for vfio? Regards, Tetsuya