From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pd0-f172.google.com (mail-pd0-f172.google.com [209.85.192.172]) by dpdk.org (Postfix) with ESMTP id 9FFE8B62 for ; Fri, 27 Mar 2015 09:19:05 +0100 (CET) Received: by pdbcz9 with SMTP id cz9so89386564pdb.3 for ; Fri, 27 Mar 2015 01:19:05 -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=X5/IfgYEeXLyg0pybq7BePZYvRt0mabYYhe+eQDE7+g=; b=CmLI0Hz1jjdAiZ5HbchjKL2svvEPMitBSRAV5MY7OjGh6BahPWoFyO2lPn+QBzkphj UJvReUCZAh5wIdYSMvTCEzg4GekYaqWD4nrXQyRrgfkpIxTOefSvo4W6uwLpiGZHvDkT C7Bot5upxXNEHYu9+e4skPPa1GSmAAjInIyvfvl+svh4oLgb+hgE/whjmrMeolAyup9y Sod+H7uU6BZmXKS8xiY5YHxSeMvrIamlfcQIaorkTpx0XZNgTRUK9inwGs0DpRaLh74I PTpIQ4iy3SfH3qPJB3rJwVyQ3e1fiCJOBKKDUlpvIPchd3Gf5u9iEP2RPh5c/eXM4ziz OS8A== X-Gm-Message-State: ALoCoQnzsdyXuNmXEIKtBkntQCIGq1Ug4vaRDF1YN6O3vPVHjK9KQGCFiCFFxBd/ykRWV8iB+LA1 X-Received: by 10.68.247.168 with SMTP id yf8mr32729098pbc.168.1427444344906; Fri, 27 Mar 2015 01:19:04 -0700 (PDT) Received: from [10.16.129.101] (napt.igel.co.jp. [219.106.231.132]) by mx.google.com with ESMTPSA id aj17sm1331227pac.21.2015.03.27.01.19.02 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 27 Mar 2015 01:19:03 -0700 (PDT) Message-ID: <55151274.8090201@igel.co.jp> Date: Fri, 27 Mar 2015 17: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: "Iremonger, Bernard" , "dev@dpdk.org" References: <1426584645-28828-7-git-send-email-mukawa@igel.co.jp> <1427170717-13879-1-git-send-email-mukawa@igel.co.jp> <1427170717-13879-6-git-send-email-mukawa@igel.co.jp> <8CEF83825BEC744B83065625E567D7C204A0245E@IRSMSX108.ger.corp.intel.com> <551373FA.9090001@igel.co.jp> <8CEF83825BEC744B83065625E567D7C204A027C6@IRSMSX108.ger.corp.intel.com> In-Reply-To: <8CEF83825BEC744B83065625E567D7C204A027C6@IRSMSX108.ger.corp.intel.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v2 5/6] eal: Use map_idx in pci_uio_map_resource() of bsdapp to work same as linuxapp 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: Fri, 27 Mar 2015 08:19:06 -0000 On 2015/03/26 19:41, Iremonger, Bernard wrote: > >> -----Original Message----- >> From: Tetsuya Mukawa [mailto:mukawa@igel.co.jp] >> Sent: Thursday, March 26, 2015 2:51 AM >> To: Iremonger, Bernard; dev@dpdk.org >> Cc: Richardson, Bruce; david.marchand@6wind.com >> Subject: Re: [PATCH v2 5/6] eal: Use map_idx in pci_uio_map_resource() of bsdapp to work same as >> linuxapp >> >> On 2015/03/26 0:27, Iremonger, Bernard wrote: >>>> -----Original Message----- >>>> From: Tetsuya Mukawa [mailto:mukawa@igel.co.jp] >>>> Sent: Tuesday, March 24, 2015 4:19 AM >>>> To: dev@dpdk.org >>>> Cc: Iremonger, Bernard; Richardson, Bruce; david.marchand@6wind.com; >>>> Tetsuya Mukawa >>>> Subject: [PATCH v2 5/6] eal: Use map_idx in pci_uio_map_resource() of >>>> bsdapp to work same as linuxapp >>>> >>>> This patch changes code that maps pci resources in bsdapp. >>>> Linuxapp has almost same code. To consolidate both, fix >>>> implementation of bsdapp to work same as linuxapp. >>>> >>>> Signed-off-by: Tetsuya Mukawa >>>> --- >>>> lib/librte_eal/bsdapp/eal/eal_pci.c | 24 ++++++++++++------------ >>>> 1 file changed, 12 insertions(+), 12 deletions(-) >>>> >>>> diff --git a/lib/librte_eal/bsdapp/eal/eal_pci.c >>>> b/lib/librte_eal/bsdapp/eal/eal_pci.c >>>> index 85f8671..08b91b4 100644 >>>> --- a/lib/librte_eal/bsdapp/eal/eal_pci.c >>>> +++ b/lib/librte_eal/bsdapp/eal/eal_pci.c >>>> @@ -195,7 +195,7 @@ pci_uio_map_secondary(struct rte_pci_device *dev) >>>> static int pci_uio_map_resource(struct rte_pci_device *dev) { >>>> - int i, j; >>>> + int i, map_idx; >>>> char devname[PATH_MAX]; /* contains the /dev/uioX */ >>>> void *mapaddr; >>>> uint64_t phaddr; >>>> @@ -247,31 +247,31 @@ pci_uio_map_resource(struct rte_pci_device *dev) >>>> pagesz = sysconf(_SC_PAGESIZE); >>>> >>>> maps = uio_res->maps; >>>> - for (i = uio_res->nb_maps = 0; i != PCI_MAX_RESOURCE; i++) { >>>> + for (i = 0, map_idx = 0; i != PCI_MAX_RESOURCE; i++) { >>>> >>>> - j = uio_res->nb_maps; >>>> /* skip empty BAR */ >>>> if ((phaddr = dev->mem_resource[i].phys_addr) == 0) >>>> continue; >>>> >>>> /* if matching map is found, then use it */ >>>> offset = i * pagesz; >>>> - maps[j].offset = offset; >>>> - maps[j].phaddr = dev->mem_resource[i].phys_addr; >>>> - maps[j].size = dev->mem_resource[i].len; >>>> - if (maps[j].addr != NULL || >>>> - (mapaddr = pci_map_resource(NULL, devname, (off_t)offset, >>>> - (size_t)maps[j].size) >>>> - ) == NULL) { >>>> + maps[map_idx].offset = offset; >>>> + maps[map_idx].phaddr = dev->mem_resource[i].phys_addr; >>>> + maps[map_idx].size = dev->mem_resource[i].len; >>>> + mapaddr = pci_map_resource(NULL, devname, (off_t)offset, >>>> + (size_t)maps[map_idx].size); >>>> + if ((maps[map_idx].addr != NULL) || (mapaddr == NULL)) { >>> Hi Tetsuya, >>> >>> Should be checking for if (mapaddr == MAP_FAILED) here. >>> Seems to be fixed in patch 6/6 though. >> Hi Bernard, >> >> Here, bsdapp still has old pci_map_resource(). >> Old pci_map_resource() return NULL when mapping is failed. >> And this behavior will be changed in 6/6. This is why MAP_FAILED is checked in 6/6. >> >> Regards, >> Tetsuya >> > Hi Tetsuya, > > Would it make sense to squash patches 5/6 and 6/6 ? Hi Bernard, I don't have strong opinion about it. So let's squash patches. And then if you feel to want to split it again, let me know. Regards, Tetsuya > > Regards, > > Bernard. >