All of lore.kernel.org
 help / color / mirror / Atom feed
* Modern uses of CONFIG_XFS_RT
@ 2020-02-19 13:57 Luis Chamberlain
  2020-02-19 14:32 ` Carlos Maiolino
  2020-02-20  3:41 ` Dave Chinner
  0 siblings, 2 replies; 15+ messages in thread
From: Luis Chamberlain @ 2020-02-19 13:57 UTC (permalink / raw)
  To: Richard Wareing; +Cc: linux-xfs, Anthony Iliopoulos

I hear some folks still use CONFIG_XFS_RT, I was curious what was the
actual modern typical use case for it. I thought this was somewhat
realted to DAX use but upon a quick code inspection I see direct
realtionship.

  Luis

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

* Re: Modern uses of CONFIG_XFS_RT
  2020-02-19 13:57 Modern uses of CONFIG_XFS_RT Luis Chamberlain
@ 2020-02-19 14:32 ` Carlos Maiolino
  2020-02-19 14:38   ` Luis Chamberlain
  2020-02-20  3:41 ` Dave Chinner
  1 sibling, 1 reply; 15+ messages in thread
From: Carlos Maiolino @ 2020-02-19 14:32 UTC (permalink / raw)
  To: Luis Chamberlain; +Cc: Richard Wareing, linux-xfs, Anthony Iliopoulos

On Wed, Feb 19, 2020 at 01:57:15PM +0000, Luis Chamberlain wrote:
> I hear some folks still use CONFIG_XFS_RT, I was curious what was the
> actual modern typical use case for it. I thought this was somewhat
> realted to DAX use but upon a quick code inspection I see direct
> realtionship.

Hm, not sure if there is any other use other than it's original purpose of
reducing latency jitters. Also XFS_RT dates way back from the day DAX was even a
thing. But anyway, I don't have much experience using XFS_RT by myself, and I
probably raised more questions than answers to yours :P

Cheers

> 
>   Luis
> 

-- 
Carlos


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

* Re: Modern uses of CONFIG_XFS_RT
  2020-02-19 14:32 ` Carlos Maiolino
@ 2020-02-19 14:38   ` Luis Chamberlain
  2020-02-19 17:09     ` Darrick J. Wong
  0 siblings, 1 reply; 15+ messages in thread
From: Luis Chamberlain @ 2020-02-19 14:38 UTC (permalink / raw)
  To: Richard Wareing, linux-xfs, Anthony Iliopoulos

On Wed, Feb 19, 2020 at 03:32:27PM +0100, Carlos Maiolino wrote:
> On Wed, Feb 19, 2020 at 01:57:15PM +0000, Luis Chamberlain wrote:
> > I hear some folks still use CONFIG_XFS_RT, I was curious what was the
> > actual modern typical use case for it. I thought this was somewhat
> > realted to DAX use but upon a quick code inspection I see direct
> > realtionship.
> 
> Hm, not sure if there is any other use other than it's original purpose of
> reducing latency jitters. Also XFS_RT dates way back from the day DAX was even a
> thing. But anyway, I don't have much experience using XFS_RT by myself, and I
> probably raised more questions than answers to yours :P

What about another question, this would certainly drive the users out of
the corners: can we remove it upstream?

  Luis

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

* Re: Modern uses of CONFIG_XFS_RT
  2020-02-19 14:38   ` Luis Chamberlain
@ 2020-02-19 17:09     ` Darrick J. Wong
  2020-02-19 17:55       ` Luis Chamberlain
  0 siblings, 1 reply; 15+ messages in thread
From: Darrick J. Wong @ 2020-02-19 17:09 UTC (permalink / raw)
  To: Luis Chamberlain; +Cc: Richard Wareing, linux-xfs, Anthony Iliopoulos

On Wed, Feb 19, 2020 at 02:38:24PM +0000, Luis Chamberlain wrote:
> On Wed, Feb 19, 2020 at 03:32:27PM +0100, Carlos Maiolino wrote:
> > On Wed, Feb 19, 2020 at 01:57:15PM +0000, Luis Chamberlain wrote:
> > > I hear some folks still use CONFIG_XFS_RT, I was curious what was the
> > > actual modern typical use case for it. I thought this was somewhat
> > > realted to DAX use but upon a quick code inspection I see direct
> > > realtionship.
> > 
> > Hm, not sure if there is any other use other than it's original purpose of
> > reducing latency jitters. Also XFS_RT dates way back from the day DAX was even a
> > thing. But anyway, I don't have much experience using XFS_RT by myself, and I
> > probably raised more questions than answers to yours :P
> 
> What about another question, this would certainly drive the users out of
> the corners: can we remove it upstream?

My DVR and TV still use it to record video data.

I've also been pushing the realtime volume for persistent memory devices
because you can guarantee that all the expensive pmem gets used for data
storage, that the extents will always be perfectly aligned to large page
sizes, and that fs metadata will never defeat that alignment guarantee.

(Granted now they're arguing that having a separate storage device for
metadata will inflate the BOM cost unacceptably, and wouldn't it be
cheaper if we just redesigned XFS to have 2MB blocksize, but I'm not
buying that because the next thing they'll want when pmem becomes cheap
is 1GB blocksize for Big Data applications. :P)

--D

>   Luis

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

* Re: Modern uses of CONFIG_XFS_RT
  2020-02-19 17:09     ` Darrick J. Wong
@ 2020-02-19 17:55       ` Luis Chamberlain
  2020-02-19 22:01         ` Darrick J. Wong
  0 siblings, 1 reply; 15+ messages in thread
From: Luis Chamberlain @ 2020-02-19 17:55 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: Richard Wareing, linux-xfs, Anthony Iliopoulos, Yong Sun

On Wed, Feb 19, 2020 at 09:09:45AM -0800, Darrick J. Wong wrote:
> On Wed, Feb 19, 2020 at 02:38:24PM +0000, Luis Chamberlain wrote:
> > On Wed, Feb 19, 2020 at 03:32:27PM +0100, Carlos Maiolino wrote:
> > > On Wed, Feb 19, 2020 at 01:57:15PM +0000, Luis Chamberlain wrote:
> > > > I hear some folks still use CONFIG_XFS_RT, I was curious what was the
> > > > actual modern typical use case for it. I thought this was somewhat
> > > > realted to DAX use but upon a quick code inspection I see direct
> > > > realtionship.
> > > 
> > > Hm, not sure if there is any other use other than it's original purpose of
> > > reducing latency jitters. Also XFS_RT dates way back from the day DAX was even a
> > > thing. But anyway, I don't have much experience using XFS_RT by myself, and I
> > > probably raised more questions than answers to yours :P
> > 
> > What about another question, this would certainly drive the users out of
> > the corners: can we remove it upstream?
> 
> My DVR and TV still use it to record video data.

Is anyone productizing on that though?

I was curious since most distros are disabling CONFIG_XFS_RT so I was
curious who was actually testing this stuff or caring about it.

> I've also been pushing the realtime volume for persistent memory devices
> because you can guarantee that all the expensive pmem gets used for data
> storage, that the extents will always be perfectly aligned to large page
> sizes, and that fs metadata will never defeat that alignment guarantee.

For those that *are* using XFS in production with realtime volume with dax...
I wonder whatcha doing about all these tests on fstests which we don't
have a proper way to know if the test succeeded / failed [0] when an
external logdev is used, this then applies to regular external log dev
users as well [1].

Which makes me also wonder then, what are the typical big users of the
regular external log device?

Reviewing a way to address this on fstests has been on my TODO for
a while, but it begs the question of how much do we really care first.
And that's what I was really trying to figure out.

Can / should we phase out external logdev / realtime dev? Who really is
caring about this code these days?

[0] https://github.com/mcgrof/oscheck/blob/master/expunges/linux-next-xfs/xfs/unassigned/xfs_realtimedev.txt
[1] https://github.com/mcgrof/oscheck/blob/master/expunges/linux-next-xfs/xfs/unassigned/xfs_logdev.txt

  Luis

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

* Re: Modern uses of CONFIG_XFS_RT
  2020-02-19 17:55       ` Luis Chamberlain
@ 2020-02-19 22:01         ` Darrick J. Wong
  2020-02-20  0:17           ` Luis Chamberlain
  0 siblings, 1 reply; 15+ messages in thread
From: Darrick J. Wong @ 2020-02-19 22:01 UTC (permalink / raw)
  To: Luis Chamberlain; +Cc: Richard Wareing, linux-xfs, Anthony Iliopoulos, Yong Sun

On Wed, Feb 19, 2020 at 05:55:02PM +0000, Luis Chamberlain wrote:
> On Wed, Feb 19, 2020 at 09:09:45AM -0800, Darrick J. Wong wrote:
> > On Wed, Feb 19, 2020 at 02:38:24PM +0000, Luis Chamberlain wrote:
> > > On Wed, Feb 19, 2020 at 03:32:27PM +0100, Carlos Maiolino wrote:
> > > > On Wed, Feb 19, 2020 at 01:57:15PM +0000, Luis Chamberlain wrote:
> > > > > I hear some folks still use CONFIG_XFS_RT, I was curious what was the
> > > > > actual modern typical use case for it. I thought this was somewhat
> > > > > realted to DAX use but upon a quick code inspection I see direct
> > > > > realtionship.
> > > > 
> > > > Hm, not sure if there is any other use other than it's original purpose of
> > > > reducing latency jitters. Also XFS_RT dates way back from the day DAX was even a
> > > > thing. But anyway, I don't have much experience using XFS_RT by myself, and I
> > > > probably raised more questions than answers to yours :P
> > > 
> > > What about another question, this would certainly drive the users out of
> > > the corners: can we remove it upstream?
> > 
> > My DVR and TV still use it to record video data.
> 
> Is anyone productizing on that though?
> 
> I was curious since most distros are disabling CONFIG_XFS_RT so I was
> curious who was actually testing this stuff or caring about it.

Most != All.  We enabled it here, for development of future products.

> > I've also been pushing the realtime volume for persistent memory devices
> > because you can guarantee that all the expensive pmem gets used for data
> > storage, that the extents will always be perfectly aligned to large page
> > sizes, and that fs metadata will never defeat that alignment guarantee.
> 
> For those that *are* using XFS in production with realtime volume with dax...
> I wonder whatcha doing about all these tests on fstests which we don't
> have a proper way to know if the test succeeded / failed [0] when an
> external logdev is used, this then applies to regular external log dev
> users as well [1].

Huh?  How did we jump from realtime devices to external log files?

> Which makes me also wonder then, what are the typical big users of the
> regular external log device?
> 
> Reviewing a way to address this on fstests has been on my TODO for
> a while, but it begs the question of how much do we really care first.
> And that's what I was really trying to figure out.
> 
> Can / should we phase out external logdev / realtime dev? Who really is
> caring about this code these days?

Not many, I guess. :/

There seem to be a lot more tests these days that use dmflakey on the
data device to simulate a temporary disk failure... but those aren't
going to work for external log devices because they seem to assume that
what we call the data device is also the log device.

--D

> [0] https://github.com/mcgrof/oscheck/blob/master/expunges/linux-next-xfs/xfs/unassigned/xfs_realtimedev.txt
> [1] https://github.com/mcgrof/oscheck/blob/master/expunges/linux-next-xfs/xfs/unassigned/xfs_logdev.txt
> 
>   Luis

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

* Re: Modern uses of CONFIG_XFS_RT
  2020-02-19 22:01         ` Darrick J. Wong
@ 2020-02-20  0:17           ` Luis Chamberlain
  2020-02-20  2:03             ` Darrick J. Wong
  2020-02-20  2:12             ` Eric Sandeen
  0 siblings, 2 replies; 15+ messages in thread
From: Luis Chamberlain @ 2020-02-20  0:17 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: Richard Wareing, linux-xfs, Anthony Iliopoulos, Yong Sun

On Wed, Feb 19, 2020 at 02:01:04PM -0800, Darrick J. Wong wrote:
> On Wed, Feb 19, 2020 at 05:55:02PM +0000, Luis Chamberlain wrote:
> > On Wed, Feb 19, 2020 at 09:09:45AM -0800, Darrick J. Wong wrote:
> > > On Wed, Feb 19, 2020 at 02:38:24PM +0000, Luis Chamberlain wrote:
> > > > On Wed, Feb 19, 2020 at 03:32:27PM +0100, Carlos Maiolino wrote:
> > > > > On Wed, Feb 19, 2020 at 01:57:15PM +0000, Luis Chamberlain wrote:
> > > > > > I hear some folks still use CONFIG_XFS_RT, I was curious what was the
> > > > > > actual modern typical use case for it. I thought this was somewhat
> > > > > > realted to DAX use but upon a quick code inspection I see direct
> > > > > > realtionship.
> > > > > 
> > > > > Hm, not sure if there is any other use other than it's original purpose of
> > > > > reducing latency jitters. Also XFS_RT dates way back from the day DAX was even a
> > > > > thing. But anyway, I don't have much experience using XFS_RT by myself, and I
> > > > > probably raised more questions than answers to yours :P
> > > > 
> > > > What about another question, this would certainly drive the users out of
> > > > the corners: can we remove it upstream?
> > > 
> > > My DVR and TV still use it to record video data.
> > 
> > Is anyone productizing on that though?
> > 
> > I was curious since most distros are disabling CONFIG_XFS_RT so I was
> > curious who was actually testing this stuff or caring about it.
> 
> Most != All.  We enabled it here, for development of future products.

Ah great to know, thanks!

> > > I've also been pushing the realtime volume for persistent memory devices
> > > because you can guarantee that all the expensive pmem gets used for data
> > > storage, that the extents will always be perfectly aligned to large page
> > > sizes, and that fs metadata will never defeat that alignment guarantee.
> > 
> > For those that *are* using XFS in production with realtime volume with dax...
> > I wonder whatcha doing about all these tests on fstests which we don't
> > have a proper way to know if the test succeeded / failed [0] when an
> > external logdev is used, this then applies to regular external log dev
> > users as well [1].
> 
> Huh?  How did we jump from realtime devices to external log files?

They share the same problem with fstests when using an alternative log
device, which I pointed out on [0] and [1].

[0] https://github.com/mcgrof/oscheck/blob/master/expunges/linux-next-xfs/xfs/unassigned/xfs_realtimedev.txt
[1] https://github.com/mcgrof/oscheck/blob/master/expunges/linux-next-xfs/xfs/unassigned/xfs_logdev.txt

> > Which makes me also wonder then, what are the typical big users of the
> > regular external log device?
> > 
> > Reviewing a way to address this on fstests has been on my TODO for
> > a while, but it begs the question of how much do we really care first.
> > And that's what I was really trying to figure out.
> > 
> > Can / should we phase out external logdev / realtime dev? Who really is
> > caring about this code these days?
> 
> Not many, I guess. :/
> 
> There seem to be a lot more tests these days that use dmflakey on the
> data device to simulate a temporary disk failure... but those aren't
> going to work for external log devices because they seem to assume that
> what we call the data device is also the log device.

That goes to show that the fstests assumption on a shared data/log device was
not only a thing of the past, its still present, and unless we address
soon, the gap will only get bigger.

OK thanks for the feedback. The situation in terms of testing rtdev or
external logs seems actually worse than I expected given the outlook for
the future and no one seeming to really care too much right now. If the
dax folks didn't care, then the code will likely just bit rot even more.
Is it too nutty for us to consider removing it as a future goal?

  Luis

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

* Re: Modern uses of CONFIG_XFS_RT
  2020-02-20  0:17           ` Luis Chamberlain
@ 2020-02-20  2:03             ` Darrick J. Wong
  2020-02-20  2:12             ` Eric Sandeen
  1 sibling, 0 replies; 15+ messages in thread
From: Darrick J. Wong @ 2020-02-20  2:03 UTC (permalink / raw)
  To: Luis Chamberlain; +Cc: Richard Wareing, linux-xfs, Anthony Iliopoulos, Yong Sun

On Thu, Feb 20, 2020 at 12:17:29AM +0000, Luis Chamberlain wrote:
> On Wed, Feb 19, 2020 at 02:01:04PM -0800, Darrick J. Wong wrote:
> > On Wed, Feb 19, 2020 at 05:55:02PM +0000, Luis Chamberlain wrote:
> > > On Wed, Feb 19, 2020 at 09:09:45AM -0800, Darrick J. Wong wrote:
> > > > On Wed, Feb 19, 2020 at 02:38:24PM +0000, Luis Chamberlain wrote:
> > > > > On Wed, Feb 19, 2020 at 03:32:27PM +0100, Carlos Maiolino wrote:
> > > > > > On Wed, Feb 19, 2020 at 01:57:15PM +0000, Luis Chamberlain wrote:
> > > > > > > I hear some folks still use CONFIG_XFS_RT, I was curious what was the
> > > > > > > actual modern typical use case for it. I thought this was somewhat
> > > > > > > realted to DAX use but upon a quick code inspection I see direct
> > > > > > > realtionship.
> > > > > > 
> > > > > > Hm, not sure if there is any other use other than it's original purpose of
> > > > > > reducing latency jitters. Also XFS_RT dates way back from the day DAX was even a
> > > > > > thing. But anyway, I don't have much experience using XFS_RT by myself, and I
> > > > > > probably raised more questions than answers to yours :P
> > > > > 
> > > > > What about another question, this would certainly drive the users out of
> > > > > the corners: can we remove it upstream?
> > > > 
> > > > My DVR and TV still use it to record video data.
> > > 
> > > Is anyone productizing on that though?
> > > 
> > > I was curious since most distros are disabling CONFIG_XFS_RT so I was
> > > curious who was actually testing this stuff or caring about it.
> > 
> > Most != All.  We enabled it here, for development of future products.
> 
> Ah great to know, thanks!
> 
> > > > I've also been pushing the realtime volume for persistent memory devices
> > > > because you can guarantee that all the expensive pmem gets used for data
> > > > storage, that the extents will always be perfectly aligned to large page
> > > > sizes, and that fs metadata will never defeat that alignment guarantee.
> > > 
> > > For those that *are* using XFS in production with realtime volume with dax...
> > > I wonder whatcha doing about all these tests on fstests which we don't
> > > have a proper way to know if the test succeeded / failed [0] when an
> > > external logdev is used, this then applies to regular external log dev
> > > users as well [1].
> > 
> > Huh?  How did we jump from realtime devices to external log files?
> 
> They share the same problem with fstests when using an alternative log
> device, which I pointed out on [0] and [1].
> 
> [0] https://github.com/mcgrof/oscheck/blob/master/expunges/linux-next-xfs/xfs/unassigned/xfs_realtimedev.txt
> [1] https://github.com/mcgrof/oscheck/blob/master/expunges/linux-next-xfs/xfs/unassigned/xfs_logdev.txt
> 
> > > Which makes me also wonder then, what are the typical big users of the
> > > regular external log device?
> > > 
> > > Reviewing a way to address this on fstests has been on my TODO for
> > > a while, but it begs the question of how much do we really care first.
> > > And that's what I was really trying to figure out.
> > > 
> > > Can / should we phase out external logdev / realtime dev? Who really is
> > > caring about this code these days?
> > 
> > Not many, I guess. :/
> > 
> > There seem to be a lot more tests these days that use dmflakey on the
> > data device to simulate a temporary disk failure... but those aren't
> > going to work for external log devices because they seem to assume that
> > what we call the data device is also the log device.
> 
> That goes to show that the fstests assumption on a shared data/log device was
> not only a thing of the past, its still present, and unless we address
> soon, the gap will only get bigger.
> 
> OK thanks for the feedback. The situation in terms of testing rtdev or
> external logs seems actually worse than I expected given the outlook for
> the future and no one seeming to really care too much right now. If the
> dax folks didn't care, then the code will likely just bit rot even more.
> Is it too nutty for us to consider removing it as a future goal?

Yes.  You just jumped from "I haven't had time to triage these failing
tests" straight to ripping out code.  Analyze the failures, fix the
tests that weren't designed flexibly enough to handle, and we'll discuss
the ones that aren't easily changed.

--D

>   Luis

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

* Re: Modern uses of CONFIG_XFS_RT
  2020-02-20  0:17           ` Luis Chamberlain
  2020-02-20  2:03             ` Darrick J. Wong
@ 2020-02-20  2:12             ` Eric Sandeen
  2020-02-20  2:15               ` Darrick J. Wong
  1 sibling, 1 reply; 15+ messages in thread
From: Eric Sandeen @ 2020-02-20  2:12 UTC (permalink / raw)
  To: Luis Chamberlain, Darrick J. Wong
  Cc: Richard Wareing, linux-xfs, Anthony Iliopoulos, Yong Sun



On 2/19/20 6:17 PM, Luis Chamberlain wrote:
> On Wed, Feb 19, 2020 at 02:01:04PM -0800, Darrick J. Wong wrote:
>> On Wed, Feb 19, 2020 at 05:55:02PM +0000, Luis Chamberlain wrote:
>>> On Wed, Feb 19, 2020 at 09:09:45AM -0800, Darrick J. Wong wrote:
>>>> On Wed, Feb 19, 2020 at 02:38:24PM +0000, Luis Chamberlain wrote:
>>>>> On Wed, Feb 19, 2020 at 03:32:27PM +0100, Carlos Maiolino wrote:
>>>>>> On Wed, Feb 19, 2020 at 01:57:15PM +0000, Luis Chamberlain wrote:
>>>>>>> I hear some folks still use CONFIG_XFS_RT, I was curious what was the
>>>>>>> actual modern typical use case for it. I thought this was somewhat
>>>>>>> realted to DAX use but upon a quick code inspection I see direct
>>>>>>> realtionship.
>>>>>>
>>>>>> Hm, not sure if there is any other use other than it's original purpose of
>>>>>> reducing latency jitters. Also XFS_RT dates way back from the day DAX was even a
>>>>>> thing. But anyway, I don't have much experience using XFS_RT by myself, and I
>>>>>> probably raised more questions than answers to yours :P
>>>>>
>>>>> What about another question, this would certainly drive the users out of
>>>>> the corners: can we remove it upstream?
>>>>
>>>> My DVR and TV still use it to record video data.
>>>
>>> Is anyone productizing on that though?
>>>
>>> I was curious since most distros are disabling CONFIG_XFS_RT so I was
>>> curious who was actually testing this stuff or caring about it.
>>
>> Most != All.  We enabled it here, for development of future products.
> 
> Ah great to know, thanks!
> 
>>>> I've also been pushing the realtime volume for persistent memory devices
>>>> because you can guarantee that all the expensive pmem gets used for data
>>>> storage, that the extents will always be perfectly aligned to large page
>>>> sizes, and that fs metadata will never defeat that alignment guarantee.
>>>
>>> For those that *are* using XFS in production with realtime volume with dax...
>>> I wonder whatcha doing about all these tests on fstests which we don't
>>> have a proper way to know if the test succeeded / failed [0] when an
>>> external logdev is used, this then applies to regular external log dev
>>> users as well [1].
>>
>> Huh?  How did we jump from realtime devices to external log files?
> 
> They share the same problem with fstests when using an alternative log
> device, which I pointed out on [0] and [1].
> 
> [0] https://github.com/mcgrof/oscheck/blob/master/expunges/linux-next-xfs/xfs/unassigned/xfs_realtimedev.txt
> [1] https://github.com/mcgrof/oscheck/blob/master/expunges/linux-next-xfs/xfs/unassigned/xfs_logdev.txt
> 
>>> Which makes me also wonder then, what are the typical big users of the
>>> regular external log device?
>>>
>>> Reviewing a way to address this on fstests has been on my TODO for
>>> a while, but it begs the question of how much do we really care first.
>>> And that's what I was really trying to figure out.
>>>
>>> Can / should we phase out external logdev / realtime dev? Who really is
>>> caring about this code these days?
>>
>> Not many, I guess. :/
>>
>> There seem to be a lot more tests these days that use dmflakey on the
>> data device to simulate a temporary disk failure... but those aren't
>> going to work for external log devices because they seem to assume that
>> what we call the data device is also the log device.
> 
> That goes to show that the fstests assumption on a shared data/log device was
> not only a thing of the past, its still present, and unless we address
> soon, the gap will only get bigger.
> 
> OK thanks for the feedback. The situation in terms of testing rtdev or
> external logs seems actually worse than I expected given the outlook for
> the future and no one seeming to really care too much right now. If the
> dax folks didn't care, then the code will likely just bit rot even more.
> Is it too nutty for us to consider removing it as a future goal?

Less nutty would be to analyze the failures and fix the tests.

Here's a start, I'll send this one to fstests.

diff --git a/common/repair b/common/repair
index 5a9097f4..cf69dde9 100644
--- a/common/repair
+++ b/common/repair
@@ -9,8 +9,12 @@ _zero_position()
 	value=$1
 	struct="$2"
 
+	SCRATCH_OPTIONS=""
+	[ "$USE_EXTERNAL" = yes -a ! -z "$SCRATCH_LOGDEV" ] && \
+		SCRATCH_OPTIONS="-l$SCRATCH_LOGDEV"
+
 	# set values for off/len variables provided by db
-	eval `xfs_db -r -c "$struct" -c stack $SCRATCH_DEV | perl -ne '
+	eval `xfs_db -r -c "$struct" -c stack $SCRATCH_OPTIONS $SCRATCH_DEV | perl -ne '
 		if (/byte offset (\d+), length (\d+)/) {
 			print "offset=$1\nlength=$2\n"; exit
 		}'`
diff --git a/tests/xfs/030 b/tests/xfs/030
index efdb6a18..e1cc32ef 100755
--- a/tests/xfs/030
+++ b/tests/xfs/030
@@ -77,7 +77,10 @@ else
 	_scratch_unmount
 fi
 clear=""
-eval `xfs_db -r -c "sb 1" -c stack $SCRATCH_DEV | perl -ne '
+SCRATCH_OPTIONS=""
+[ "$USE_EXTERNAL" = yes -a ! -z "$SCRATCH_LOGDEV" ] && \
+	SCRATCH_OPTIONS="-l$SCRATCH_LOGDEV"
+eval `xfs_db -r -c "sb 1" -c stack $SCRATCH_OPTIONS $SCRATCH_DEV | perl -ne '
 	if (/byte offset (\d+), length (\d+)/) {
 		print "clear=", $1 / 512, "\n"; exit
 	}'`




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

* Re: Modern uses of CONFIG_XFS_RT
  2020-02-20  2:12             ` Eric Sandeen
@ 2020-02-20  2:15               ` Darrick J. Wong
  0 siblings, 0 replies; 15+ messages in thread
From: Darrick J. Wong @ 2020-02-20  2:15 UTC (permalink / raw)
  To: Eric Sandeen
  Cc: Luis Chamberlain, Richard Wareing, linux-xfs, Anthony Iliopoulos,
	Yong Sun

On Wed, Feb 19, 2020 at 08:12:23PM -0600, Eric Sandeen wrote:
> 
> 
> On 2/19/20 6:17 PM, Luis Chamberlain wrote:
> > On Wed, Feb 19, 2020 at 02:01:04PM -0800, Darrick J. Wong wrote:
> >> On Wed, Feb 19, 2020 at 05:55:02PM +0000, Luis Chamberlain wrote:
> >>> On Wed, Feb 19, 2020 at 09:09:45AM -0800, Darrick J. Wong wrote:
> >>>> On Wed, Feb 19, 2020 at 02:38:24PM +0000, Luis Chamberlain wrote:
> >>>>> On Wed, Feb 19, 2020 at 03:32:27PM +0100, Carlos Maiolino wrote:
> >>>>>> On Wed, Feb 19, 2020 at 01:57:15PM +0000, Luis Chamberlain wrote:
> >>>>>>> I hear some folks still use CONFIG_XFS_RT, I was curious what was the
> >>>>>>> actual modern typical use case for it. I thought this was somewhat
> >>>>>>> realted to DAX use but upon a quick code inspection I see direct
> >>>>>>> realtionship.
> >>>>>>
> >>>>>> Hm, not sure if there is any other use other than it's original purpose of
> >>>>>> reducing latency jitters. Also XFS_RT dates way back from the day DAX was even a
> >>>>>> thing. But anyway, I don't have much experience using XFS_RT by myself, and I
> >>>>>> probably raised more questions than answers to yours :P
> >>>>>
> >>>>> What about another question, this would certainly drive the users out of
> >>>>> the corners: can we remove it upstream?
> >>>>
> >>>> My DVR and TV still use it to record video data.
> >>>
> >>> Is anyone productizing on that though?
> >>>
> >>> I was curious since most distros are disabling CONFIG_XFS_RT so I was
> >>> curious who was actually testing this stuff or caring about it.
> >>
> >> Most != All.  We enabled it here, for development of future products.
> > 
> > Ah great to know, thanks!
> > 
> >>>> I've also been pushing the realtime volume for persistent memory devices
> >>>> because you can guarantee that all the expensive pmem gets used for data
> >>>> storage, that the extents will always be perfectly aligned to large page
> >>>> sizes, and that fs metadata will never defeat that alignment guarantee.
> >>>
> >>> For those that *are* using XFS in production with realtime volume with dax...
> >>> I wonder whatcha doing about all these tests on fstests which we don't
> >>> have a proper way to know if the test succeeded / failed [0] when an
> >>> external logdev is used, this then applies to regular external log dev
> >>> users as well [1].
> >>
> >> Huh?  How did we jump from realtime devices to external log files?
> > 
> > They share the same problem with fstests when using an alternative log
> > device, which I pointed out on [0] and [1].
> > 
> > [0] https://github.com/mcgrof/oscheck/blob/master/expunges/linux-next-xfs/xfs/unassigned/xfs_realtimedev.txt
> > [1] https://github.com/mcgrof/oscheck/blob/master/expunges/linux-next-xfs/xfs/unassigned/xfs_logdev.txt
> > 
> >>> Which makes me also wonder then, what are the typical big users of the
> >>> regular external log device?
> >>>
> >>> Reviewing a way to address this on fstests has been on my TODO for
> >>> a while, but it begs the question of how much do we really care first.
> >>> And that's what I was really trying to figure out.
> >>>
> >>> Can / should we phase out external logdev / realtime dev? Who really is
> >>> caring about this code these days?
> >>
> >> Not many, I guess. :/
> >>
> >> There seem to be a lot more tests these days that use dmflakey on the
> >> data device to simulate a temporary disk failure... but those aren't
> >> going to work for external log devices because they seem to assume that
> >> what we call the data device is also the log device.
> > 
> > That goes to show that the fstests assumption on a shared data/log device was
> > not only a thing of the past, its still present, and unless we address
> > soon, the gap will only get bigger.
> > 
> > OK thanks for the feedback. The situation in terms of testing rtdev or
> > external logs seems actually worse than I expected given the outlook for
> > the future and no one seeming to really care too much right now. If the
> > dax folks didn't care, then the code will likely just bit rot even more.
> > Is it too nutty for us to consider removing it as a future goal?
> 
> Less nutty would be to analyze the failures and fix the tests.
> 
> Here's a start, I'll send this one to fstests.
> 
> diff --git a/common/repair b/common/repair
> index 5a9097f4..cf69dde9 100644
> --- a/common/repair
> +++ b/common/repair
> @@ -9,8 +9,12 @@ _zero_position()
>  	value=$1
>  	struct="$2"
>  
> +	SCRATCH_OPTIONS=""
> +	[ "$USE_EXTERNAL" = yes -a ! -z "$SCRATCH_LOGDEV" ] && \
> +		SCRATCH_OPTIONS="-l$SCRATCH_LOGDEV"
> +
>  	# set values for off/len variables provided by db
> -	eval `xfs_db -r -c "$struct" -c stack $SCRATCH_DEV | perl -ne '
> +	eval `xfs_db -r -c "$struct" -c stack $SCRATCH_OPTIONS $SCRATCH_DEV | perl -ne '
>  		if (/byte offset (\d+), length (\d+)/) {
>  			print "offset=$1\nlength=$2\n"; exit
>  		}'`
> diff --git a/tests/xfs/030 b/tests/xfs/030
> index efdb6a18..e1cc32ef 100755
> --- a/tests/xfs/030
> +++ b/tests/xfs/030
> @@ -77,7 +77,10 @@ else
>  	_scratch_unmount
>  fi
>  clear=""
> -eval `xfs_db -r -c "sb 1" -c stack $SCRATCH_DEV | perl -ne '
> +SCRATCH_OPTIONS=""
> +[ "$USE_EXTERNAL" = yes -a ! -z "$SCRATCH_LOGDEV" ] && \
> +	SCRATCH_OPTIONS="-l$SCRATCH_LOGDEV"
> +eval `xfs_db -r -c "sb 1" -c stack $SCRATCH_OPTIONS $SCRATCH_DEV | perl -ne '

_scratch_xfs_db

--D

>  	if (/byte offset (\d+), length (\d+)/) {
>  		print "clear=", $1 / 512, "\n"; exit
>  	}'`
> 
> 
> 

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

* Re: Modern uses of CONFIG_XFS_RT
  2020-02-19 13:57 Modern uses of CONFIG_XFS_RT Luis Chamberlain
  2020-02-19 14:32 ` Carlos Maiolino
@ 2020-02-20  3:41 ` Dave Chinner
  2020-02-20 14:25   ` Brian Foster
  1 sibling, 1 reply; 15+ messages in thread
From: Dave Chinner @ 2020-02-20  3:41 UTC (permalink / raw)
  To: Luis Chamberlain; +Cc: Richard Wareing, linux-xfs, Anthony Iliopoulos

On Wed, Feb 19, 2020 at 01:57:15PM +0000, Luis Chamberlain wrote:
> I hear some folks still use CONFIG_XFS_RT, I was curious what was the
> actual modern typical use case for it. I thought this was somewhat
> realted to DAX use but upon a quick code inspection I see direct
> realtionship.

Facebook use it in production systems to separate large file data
from metadata and small files. i.e. they use a small SSD based
partition for the filesytem metadata and a spinning disk for
the large scale data storage. Essentially simple teired storage.

It's also commonly still used in multi-stream DVRs (think
multi-camera security systems), and other similar sequential access
data applications...

That's just a couple off the top of my head...

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

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

* Re: Modern uses of CONFIG_XFS_RT
  2020-02-20  3:41 ` Dave Chinner
@ 2020-02-20 14:25   ` Brian Foster
  2020-02-20 22:06     ` Dave Chinner
  0 siblings, 1 reply; 15+ messages in thread
From: Brian Foster @ 2020-02-20 14:25 UTC (permalink / raw)
  To: Dave Chinner
  Cc: Luis Chamberlain, Richard Wareing, linux-xfs, Anthony Iliopoulos

On Thu, Feb 20, 2020 at 02:41:06PM +1100, Dave Chinner wrote:
> On Wed, Feb 19, 2020 at 01:57:15PM +0000, Luis Chamberlain wrote:
> > I hear some folks still use CONFIG_XFS_RT, I was curious what was the
> > actual modern typical use case for it. I thought this was somewhat
> > realted to DAX use but upon a quick code inspection I see direct
> > realtionship.
> 
> Facebook use it in production systems to separate large file data
> from metadata and small files. i.e. they use a small SSD based
> partition for the filesytem metadata and a spinning disk for
> the large scale data storage. Essentially simple teired storage.
> 

Didn't this involve custom functionality? I thought they had posted
something at one point that wasn't seen through to merge, but I could be
misremembering (or maybe that was something else RT related). It doesn't
matter that much as there are probably other users out there, but I'm
not sure this serves as a great example use case if it did require
downstream customizations that aren't going to be generalized/supported
for the community.. Richard..?

Brian

> It's also commonly still used in multi-stream DVRs (think
> multi-camera security systems), and other similar sequential access
> data applications...
> 
> That's just a couple off the top of my head...
> 
> Cheers,
> 
> Dave.
> -- 
> Dave Chinner
> david@fromorbit.com
> 


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

* Re: Modern uses of CONFIG_XFS_RT
  2020-02-20 14:25   ` Brian Foster
@ 2020-02-20 22:06     ` Dave Chinner
  2020-02-21 12:15       ` Brian Foster
  0 siblings, 1 reply; 15+ messages in thread
From: Dave Chinner @ 2020-02-20 22:06 UTC (permalink / raw)
  To: Brian Foster
  Cc: Luis Chamberlain, Richard Wareing, linux-xfs, Anthony Iliopoulos

On Thu, Feb 20, 2020 at 09:25:20AM -0500, Brian Foster wrote:
> On Thu, Feb 20, 2020 at 02:41:06PM +1100, Dave Chinner wrote:
> > On Wed, Feb 19, 2020 at 01:57:15PM +0000, Luis Chamberlain wrote:
> > > I hear some folks still use CONFIG_XFS_RT, I was curious what was the
> > > actual modern typical use case for it. I thought this was somewhat
> > > realted to DAX use but upon a quick code inspection I see direct
> > > realtionship.
> > 
> > Facebook use it in production systems to separate large file data
> > from metadata and small files. i.e. they use a small SSD based
> > partition for the filesytem metadata and a spinning disk for
> > the large scale data storage. Essentially simple teired storage.
> > 
> 
> Didn't this involve custom functionality? I thought they had posted
> something at one point that wasn't seen through to merge, but I could be
> misremembering (or maybe that was something else RT related). It doesn't

Yes, but that is largely irrelevant. It requires the RT device to
function, and the RT device functionality is entirely unchanged. All
that changed was the initial data allocation policy to select
whether the RT or data device would be used, and that really isn't
that controversial as we've always suggested this is a potential use
of the RT device (fast and slow storage in the one filesystem
namespace).

> matter that much as there are probably other users out there, but I'm
> not sure this serves as a great example use case if it did require
> downstream customizations

There are almost always downstream modifications in private cloud
storage kernels, even if it is just bug fixes. They aren't shipping
the code to anyone, so they don't have to publish those changes.
However, the presence of downstream changes doesn't mean the
upstreram functionality should be considered unused and can be
removed....

> that aren't going to be generalized/supported
> for the community.. Richard..?

IIRC, we were simply waiting on an updated patchset to address
review comments...

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

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

* Re: Modern uses of CONFIG_XFS_RT
  2020-02-20 22:06     ` Dave Chinner
@ 2020-02-21 12:15       ` Brian Foster
  2020-02-21 12:52         ` Emmanuel Florac
  0 siblings, 1 reply; 15+ messages in thread
From: Brian Foster @ 2020-02-21 12:15 UTC (permalink / raw)
  To: Dave Chinner
  Cc: Luis Chamberlain, Richard Wareing, linux-xfs, Anthony Iliopoulos

On Fri, Feb 21, 2020 at 09:06:52AM +1100, Dave Chinner wrote:
> On Thu, Feb 20, 2020 at 09:25:20AM -0500, Brian Foster wrote:
> > On Thu, Feb 20, 2020 at 02:41:06PM +1100, Dave Chinner wrote:
> > > On Wed, Feb 19, 2020 at 01:57:15PM +0000, Luis Chamberlain wrote:
> > > > I hear some folks still use CONFIG_XFS_RT, I was curious what was the
> > > > actual modern typical use case for it. I thought this was somewhat
> > > > realted to DAX use but upon a quick code inspection I see direct
> > > > realtionship.
> > > 
> > > Facebook use it in production systems to separate large file data
> > > from metadata and small files. i.e. they use a small SSD based
> > > partition for the filesytem metadata and a spinning disk for
> > > the large scale data storage. Essentially simple teired storage.
> > > 
> > 
> > Didn't this involve custom functionality? I thought they had posted
> > something at one point that wasn't seen through to merge, but I could be
> > misremembering (or maybe that was something else RT related). It doesn't
> 
> Yes, but that is largely irrelevant. It requires the RT device to
> function, and the RT device functionality is entirely unchanged. All
> that changed was the initial data allocation policy to select
> whether the RT or data device would be used, and that really isn't
> that controversial as we've always suggested this is a potential use
> of the RT device (fast and slow storage in the one filesystem
> namespace).
> 

Ok, then we should be able to get those changes upstream.

> > matter that much as there are probably other users out there, but I'm
> > not sure this serves as a great example use case if it did require
> > downstream customizations
> 
> There are almost always downstream modifications in private cloud
> storage kernels, even if it is just bug fixes. They aren't shipping
> the code to anyone, so they don't have to publish those changes.
> However, the presence of downstream changes doesn't mean the
> upstreram functionality should be considered unused and can be
> removed....
> 

Well that's not what I said. ;P I'm pointing out that as of right now
this is a downstream only use case. I know there was upstream
communication and patches posted, etc., but that was a while ago and it
wasn't clear to me if there was still intent to get things merged
upstream. If not, then the only real outcome here for anybody outside of
FB is bitrot.

> > that aren't going to be generalized/supported
> > for the community.. Richard..?
> 
> IIRC, we were simply waiting on an updated patchset to address
> review comments...
> 

I'm not sure if I'm digging out the right mails... it appears there was
decent upstream activity at first (up to a v7 [1] across a period of
months). Since then, I don't see any updates in over two years..

Brian

[1] https://lore.kernel.org/linux-xfs/20171128215527.2510350-1-rwareing@fb.com/

> Cheers,
> 
> Dave.
> -- 
> Dave Chinner
> david@fromorbit.com
> 


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

* Re: Modern uses of CONFIG_XFS_RT
  2020-02-21 12:15       ` Brian Foster
@ 2020-02-21 12:52         ` Emmanuel Florac
  0 siblings, 0 replies; 15+ messages in thread
From: Emmanuel Florac @ 2020-02-21 12:52 UTC (permalink / raw)
  To: Brian Foster
  Cc: Dave Chinner, Luis Chamberlain, Richard Wareing, linux-xfs,
	Anthony Iliopoulos

[-- Attachment #1: Type: text/plain, Size: 1497 bytes --]

Le Fri, 21 Feb 2020 07:15:09 -0500
Brian Foster <bfoster@redhat.com> écrivait:

> > There are almost always downstream modifications in private cloud
> > storage kernels, even if it is just bug fixes. They aren't shipping
> > the code to anyone, so they don't have to publish those changes.
> > However, the presence of downstream changes doesn't mean the
> > upstreram functionality should be considered unused and can be
> > removed....
> >   
> 
> Well that's not what I said. ;P I'm pointing out that as of right now
> this is a downstream only use case. I know there was upstream
> communication and patches posted, etc., but that was a while ago and
> it wasn't clear to me if there was still intent to get things merged
> upstream. If not, then the only real outcome here for anybody outside
> of FB is bitrot.

Maybe, maybe not. Storage tiering is a pretty hot subject, simply
shedding some light on this capability may give it more use. I didn't
know of any actual use case for RT in XFS since IRIX times, but if
there's a way to use it for tiering, this is indeed a very promising
area of development for me (and no doubt many others).

-- 
------------------------------------------------------------------------
Emmanuel Florac     |   Direction technique
                    |   Intellique
                    |	<eflorac@intellique.com>
                    |   +33 1 78 94 84 02
------------------------------------------------------------------------

[-- Attachment #2: Signature digitale OpenPGP --]
[-- Type: application/pgp-signature, Size: 163 bytes --]

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

end of thread, other threads:[~2020-02-21 13:01 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-19 13:57 Modern uses of CONFIG_XFS_RT Luis Chamberlain
2020-02-19 14:32 ` Carlos Maiolino
2020-02-19 14:38   ` Luis Chamberlain
2020-02-19 17:09     ` Darrick J. Wong
2020-02-19 17:55       ` Luis Chamberlain
2020-02-19 22:01         ` Darrick J. Wong
2020-02-20  0:17           ` Luis Chamberlain
2020-02-20  2:03             ` Darrick J. Wong
2020-02-20  2:12             ` Eric Sandeen
2020-02-20  2:15               ` Darrick J. Wong
2020-02-20  3:41 ` Dave Chinner
2020-02-20 14:25   ` Brian Foster
2020-02-20 22:06     ` Dave Chinner
2020-02-21 12:15       ` Brian Foster
2020-02-21 12:52         ` Emmanuel Florac

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.