linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* DAX filesystem support on ARMv8
@ 2019-11-12  2:12 Bharat Kumar Gogada
  2019-11-12  9:49 ` Jan Kara
  2019-11-12 17:15 ` Dan Williams
  0 siblings, 2 replies; 6+ messages in thread
From: Bharat Kumar Gogada @ 2019-11-12  2:12 UTC (permalink / raw)
  To: linux-nvdimm, linux-fsdevel, linux-kernel; +Cc: willy, viro, jack

Hi All,

As per Documentation/filesystems/dax.txt

The DAX code does not work correctly on architectures which have virtually
mapped caches such as ARM, MIPS and SPARC.

Can anyone please shed light on dax filesystem issue w.r.t ARM architecture ? 

Regards,
Bharat


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: DAX filesystem support on ARMv8
  2019-11-12  2:12 DAX filesystem support on ARMv8 Bharat Kumar Gogada
@ 2019-11-12  9:49 ` Jan Kara
  2019-11-12 17:15 ` Dan Williams
  1 sibling, 0 replies; 6+ messages in thread
From: Jan Kara @ 2019-11-12  9:49 UTC (permalink / raw)
  To: Bharat Kumar Gogada
  Cc: linux-nvdimm, linux-fsdevel, linux-kernel, willy, viro, jack,
	Dan Williams

Hi!

On Tue 12-11-19 02:12:09, Bharat Kumar Gogada wrote:
> As per Documentation/filesystems/dax.txt
> 
> The DAX code does not work correctly on architectures which have virtually
> mapped caches such as ARM, MIPS and SPARC.
> 
> Can anyone please shed light on dax filesystem issue w.r.t ARM architecture ? 

I've CCed Dan, he might have idea what that comment means :)

Out of curiosity, why do you care?

								Honza

-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: DAX filesystem support on ARMv8
  2019-11-12  2:12 DAX filesystem support on ARMv8 Bharat Kumar Gogada
  2019-11-12  9:49 ` Jan Kara
@ 2019-11-12 17:15 ` Dan Williams
  2019-11-12 22:02   ` Matthew Wilcox
  1 sibling, 1 reply; 6+ messages in thread
From: Dan Williams @ 2019-11-12 17:15 UTC (permalink / raw)
  To: Bharat Kumar Gogada
  Cc: linux-nvdimm, linux-fsdevel, linux-kernel, willy, viro, jack

On Mon, Nov 11, 2019 at 6:12 PM Bharat Kumar Gogada <bharatku@xilinx.com> wrote:
>
> Hi All,
>
> As per Documentation/filesystems/dax.txt
>
> The DAX code does not work correctly on architectures which have virtually
> mapped caches such as ARM, MIPS and SPARC.
>
> Can anyone please shed light on dax filesystem issue w.r.t ARM architecture ?

The concern is VIVT caches since the kernel will want to flush pmem
addresses with different virtual addresses than what userspace is
using. As far as I know, ARMv8 has VIPT caches, so should not have an
issue. Willy initially wrote those restrictions, but I am assuming
that the concern was managing the caches in the presence of virtual
aliases.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: DAX filesystem support on ARMv8
  2019-11-12 17:15 ` Dan Williams
@ 2019-11-12 22:02   ` Matthew Wilcox
  2019-11-14  6:54     ` Bharat Kumar Gogada
  0 siblings, 1 reply; 6+ messages in thread
From: Matthew Wilcox @ 2019-11-12 22:02 UTC (permalink / raw)
  To: Dan Williams
  Cc: Bharat Kumar Gogada, linux-nvdimm, linux-fsdevel, linux-kernel,
	viro, jack

On Tue, Nov 12, 2019 at 09:15:18AM -0800, Dan Williams wrote:
> On Mon, Nov 11, 2019 at 6:12 PM Bharat Kumar Gogada <bharatku@xilinx.com> wrote:
> >
> > Hi All,
> >
> > As per Documentation/filesystems/dax.txt
> >
> > The DAX code does not work correctly on architectures which have virtually
> > mapped caches such as ARM, MIPS and SPARC.
> >
> > Can anyone please shed light on dax filesystem issue w.r.t ARM architecture ?
> 
> The concern is VIVT caches since the kernel will want to flush pmem
> addresses with different virtual addresses than what userspace is
> using. As far as I know, ARMv8 has VIPT caches, so should not have an
> issue. Willy initially wrote those restrictions, but I am assuming
> that the concern was managing the caches in the presence of virtual
> aliases.

The kernel will also access data at different virtual addresses from
userspace.  So VIVT CPUs will be mmap/read/write incoherent, as well as
being flush incoherent.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: DAX filesystem support on ARMv8
  2019-11-12 22:02   ` Matthew Wilcox
@ 2019-11-14  6:54     ` Bharat Kumar Gogada
  2019-12-01 18:54       ` Jon Masters
  0 siblings, 1 reply; 6+ messages in thread
From: Bharat Kumar Gogada @ 2019-11-14  6:54 UTC (permalink / raw)
  To: Matthew Wilcox, Dan Williams
  Cc: linux-nvdimm, linux-fsdevel, linux-kernel, viro, jack

> 
> On Tue, Nov 12, 2019 at 09:15:18AM -0800, Dan Williams wrote:
> > On Mon, Nov 11, 2019 at 6:12 PM Bharat Kumar Gogada
> <bharatku@xilinx.com> wrote:
> > >
> > > Hi All,
> > >
> > > As per Documentation/filesystems/dax.txt
> > >
> > > The DAX code does not work correctly on architectures which have
> > > virtually mapped caches such as ARM, MIPS and SPARC.
> > >
> > > Can anyone please shed light on dax filesystem issue w.r.t ARM architecture
> ?
> >
> > The concern is VIVT caches since the kernel will want to flush pmem
> > addresses with different virtual addresses than what userspace is
> > using. As far as I know, ARMv8 has VIPT caches, so should not have an
> > issue. Willy initially wrote those restrictions, but I am assuming
> > that the concern was managing the caches in the presence of virtual
> > aliases.
> 
> The kernel will also access data at different virtual addresses from userspace.
> So VIVT CPUs will be mmap/read/write incoherent, as well as being flush
> incoherent.

Thanks a lot Wilcox and Dan for clarification. 
So the above restriction only applies to ARM architectures with VIVT caches and not 
for VIPT caches. 


Regards,
Bharat 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: DAX filesystem support on ARMv8
  2019-11-14  6:54     ` Bharat Kumar Gogada
@ 2019-12-01 18:54       ` Jon Masters
  0 siblings, 0 replies; 6+ messages in thread
From: Jon Masters @ 2019-12-01 18:54 UTC (permalink / raw)
  To: Bharat Kumar Gogada, Matthew Wilcox, Dan Williams
  Cc: linux-nvdimm, linux-fsdevel, linux-kernel, viro, jack

On 11/14/19 1:54 AM, Bharat Kumar Gogada wrote:
>>
>> On Tue, Nov 12, 2019 at 09:15:18AM -0800, Dan Williams wrote:
>>> On Mon, Nov 11, 2019 at 6:12 PM Bharat Kumar Gogada
>> <bharatku@xilinx.com> wrote:
>>>>
>>>> Hi All,
>>>>
>>>> As per Documentation/filesystems/dax.txt
>>>>
>>>> The DAX code does not work correctly on architectures which have
>>>> virtually mapped caches such as ARM, MIPS and SPARC.
>>>>
>>>> Can anyone please shed light on dax filesystem issue w.r.t ARM architecture
>> ?
>>>
>>> The concern is VIVT caches since the kernel will want to flush pmem
>>> addresses with different virtual addresses than what userspace is
>>> using. As far as I know, ARMv8 has VIPT caches, so should not have an
>>> issue. Willy initially wrote those restrictions, but I am assuming
>>> that the concern was managing the caches in the presence of virtual
>>> aliases.
>>
>> The kernel will also access data at different virtual addresses from userspace.
>> So VIVT CPUs will be mmap/read/write incoherent, as well as being flush
>> incoherent.
> 
> Thanks a lot Wilcox and Dan for clarification.
> So the above restriction only applies to ARM architectures with VIVT caches and not
> for VIPT caches.

VMSAv8-64 (Armv8) requires that data caches behave as if they were PIPT. 
Meaning there is not a situation as described above.

Jon.

-- 
Computer Architect

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-12-01 21:58 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-12  2:12 DAX filesystem support on ARMv8 Bharat Kumar Gogada
2019-11-12  9:49 ` Jan Kara
2019-11-12 17:15 ` Dan Williams
2019-11-12 22:02   ` Matthew Wilcox
2019-11-14  6:54     ` Bharat Kumar Gogada
2019-12-01 18:54       ` Jon Masters

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).