From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753373AbbHMRwR (ORCPT ); Thu, 13 Aug 2015 13:52:17 -0400 Received: from g4t3427.houston.hp.com ([15.201.208.55]:52157 "EHLO g4t3427.houston.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752474AbbHMRwP (ORCPT ); Thu, 13 Aug 2015 13:52:15 -0400 Subject: Re: regression introduced by "block: Add support for DAX reads/writes to block devices" To: Jeff Moyer References: <100D68C7BA14664A8938383216E40DE04091408C@FMSMSX114.amr.corp.intel.com> <100D68C7BA14664A8938383216E40DE0409144D9@FMSMSX114.amr.corp.intel.com> <55C855D5.1070001@plexistor.com> <55CC2BDA.3080906@plexistor.com> <55CCC8F8.6080204@hp.com> Cc: Boaz Harrosh , "Wilcox, Matthew R" , "linux-kernel@vger.kernel.org" , "linux-fsdevel@vger.kernel.org" , "Vishal L. Verma" From: Linda Knippers X-Enigmail-Draft-Status: N1110 Message-ID: <55CCD94D.7040807@hp.com> Date: Thu, 13 Aug 2015 13:52:13 -0400 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 8/13/2015 1:14 PM, Jeff Moyer wrote: > Linda Knippers writes: > >>> I'd be fine with changing the persistent memory block device to only >>> support 4k logical, 4k physical block size. That probably makes the >>> most sense. >> >> If that's what we want, the current patch doesn't do that. >> https://lists.01.org/pipermail/linux-nvdimm/2015-July/001555.html >> >> It causes the physical block size to be PAGE_SIZE but the >> logical block size is still 512. However, the minimum_io_size >> is now 4096 (same as physical block size, I assume). The >> optimal_io_size is still 0. What does that mean? > > physical block size - device's internal block size > logical block size - addressable unit Right, but it's still reported as 512 and that doesn't work. > optimal io size - device's preferred unit for streaming So 0 is ok. > minimum io size - device’s preferred minimum unit for random I/O > > See Martin Petersen's "Linux & Advanced Storage Interfaces" document for > more information. > >> Whatever we go with, we should do something because 4.2rc6 is still >> broken, unable to create a xfs file system on a pmem device, ever >> since the change to use DAX on block devices with O_DIRECT. > > We can change the block device to export logical/physical block sizes of > PAGE_SIZE. However, when persistent memory support comes to platforms > that support page sizes > 32k, xfs will again run into problems (Dave > Chinner mentioned that xfs can't deal with logical block sizes >32k.) > Arguably, you can use pmem and dax on such platforms using RAM today for > testing. Do we care about breaking that? I would think so. AARCH64 uses 64k pages today. I think Documentation/filesystems/dax.txt could use a little update too. It has a section "Implementation Tips for Block Driver Writers" that makes it sound easy but now I wonder if it even works with the example ram drivers. Should we be able to read any 512 byte "sector"? -- ljk > > Cheers, > Jeff >