Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757663AbcJYLyS (ORCPT ); Tue, 25 Oct 2016 07:54:18 -0400 Received: from gateway23.websitewelcome.com ([192.185.49.60]:49972 "EHLO gateway23.websitewelcome.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753576AbcJYLyQ (ORCPT ); Tue, 25 Oct 2016 07:54:16 -0400 Date: Tue, 25 Oct 2016 05:54:09 -0600 From: Stephen Bates To: Dan Williams Cc: "linux-kernel@vger.kernel.org" , "linux-nvdimm@lists.01.org" , linux-rdma@vger.kernel.org, linux-block@vger.kernel.org, Linux MM , Ross Zwisler , Matthew Wilcox , Jason Gunthorpe , haggaie@mellanox.com, Christoph Hellwig , Jens Axboe , Jonathan Corbet , jim.macdonald@everspin.com, sbates@raithin.com, Logan Gunthorpe Subject: Re: [PATCH 1/3] memremap.c : Add support for ZONE_DEVICE IO memory with struct pages. Message-ID: <20161025115409.GB14986@cgy1-donard.priv.deltatee.com> References: <1476826937-20665-1-git-send-email-sbates@raithlin.com> <1476826937-20665-2-git-send-email-sbates@raithlin.com> <20161019184028.GB16550@cgy1-donard.priv.deltatee.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - estate.websitewelcome.com X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - raithlin.com X-BWhitelist: no X-Source-IP: 207.54.116.65 X-Exim-ID: 1bz0J2-000MKf-Gt X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: lambic.deltatee.com (cgy1-donard.priv.deltatee.com) [207.54.116.65]:55260 X-Source-Auth: raithlin X-Email-Count: 34 X-Source-Cap: cmFpdGhsaW47c2NvdHQ7ZXN0YXRlLndlYnNpdGV3ZWxjb21lLmNvbQ== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1512 Lines: 40 On Wed, Oct 19, 2016 at 01:01:06PM -0700, Dan Williams wrote: > >> > >> In the cover letter, "[PATCH 0/3] iopmem : A block device for PCIe > >> memory", it mentions that the lack of I/O coherency is a known issue > >> and users of this functionality need to be cognizant of the pitfalls. > >> If that is the case why do we need support for different cpu mapping > >> types than the default write-back cache setting? It's up to the > >> application to handle cache cpu flushing similar to what we require of > >> device-dax users in the persistent memory case. > > > > Some of the iopmem hardware we have tested has certain alignment > > restrictions on BAR accesses. At the very least we require write > > combine mappings for these. We then felt it appropriate to add the > > other mappings for the sake of completeness. > > If the device can support write-combine then it can support bursts, so > I wonder why it couldn't support read bursts for cache fills... Dan You make a good point. We did some testing on this and for the HW we have access too we did see that a standard WB mapping worked. Interestly though the local access performance was much slower than for the WC mapping. We also noticed the PAT entries we not marked correctly in the WB case. I am trying to get access to some other HW for more testing. Grepping for the address of interest: In WB mode it's: uncached-minus @ 0x381f80000000-0x381fc0000000 In WC mode it's: write-combining @ 0x381f80000000-0x381fc0000000 Cheers Stephen