* xfs/599 on LBS
@ 2023-11-02 0:36 Luis Chamberlain
2024-01-25 21:11 ` Darrick J. Wong
0 siblings, 1 reply; 2+ messages in thread
From: Luis Chamberlain @ 2023-11-02 0:36 UTC (permalink / raw)
To: xfs, fstests; +Cc: Luis Chamberlain, Pankaj Raghav, Daniel Gomez
xfs/599 takes a long time on LBS, but it passes. The amount of time it
takes, however, begs the question if the test is could be trimmed to
do less work because the larger the block size the larger the number of
dirents and xattrs are used to create. The large dirents are not a
problem. The amount of time it takes to create xattrs with hashcol however
grows exponentially in time.
n=16k takes 5 seconds
n=32k takes 30 seconds
n=64k takes 6-7 minutes
n=1048576 takes 30 hours
n=1048576 is what we use for block size 32k.
Do we really need so many xattrs for larger block sizes for this test?
S1="KNR4qb1wJE1ncgC83X2XQg7CKwuqEYQjwuX3MG1o6FyqwrCXagIYlgGqtbLlpUn9prWpkCo9ChrxJOINgc3MBSG0La6Qhm9imcduPeGtC3IvQOzuKPsQAN3O5lVS9zha1giONke1RfnTcidsDlIxNcupydmZrdJmwHU7HRxWWqLTenWh3Gi5YNWExX0Ft94NEtfY8Lov2qvYJbTA5knONimQq5wUaK1Eo449pDXTnCOTRRhPnSHMXzNqT"
mkfs.xfs -f -b size=32k -s size=4k /dev/loop16
mount /dev/loop16 /mnt
touch /mnt/foo
time xfs_db -r -c "hashcoll -a -n 1048576 -p /mnt/foo $S1" /dev/loop16
But also, for the life of me, I can't get the btree printed out, I see
the nvlist but not btree, you can print *everything* out with just
-c 'print':
xfs_db -c 'path /hah' -c 'ablock 0' -c 'addr btree[0].before' -c 'print' /dev/loop16
Luis
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: xfs/599 on LBS
2023-11-02 0:36 xfs/599 on LBS Luis Chamberlain
@ 2024-01-25 21:11 ` Darrick J. Wong
0 siblings, 0 replies; 2+ messages in thread
From: Darrick J. Wong @ 2024-01-25 21:11 UTC (permalink / raw)
To: Luis Chamberlain; +Cc: xfs, fstests, Pankaj Raghav, Daniel Gomez
On Wed, Nov 01, 2023 at 05:36:13PM -0700, Luis Chamberlain wrote:
> xfs/599 takes a long time on LBS, but it passes. The amount of time it
> takes, however, begs the question if the test is could be trimmed to
> do less work because the larger the block size the larger the number of
> dirents and xattrs are used to create. The large dirents are not a
> problem. The amount of time it takes to create xattrs with hashcol however
> grows exponentially in time.
>
> n=16k takes 5 seconds
> n=32k takes 30 seconds
> n=64k takes 6-7 minutes
> n=1048576 takes 30 hours
>
> n=1048576 is what we use for block size 32k.
>
> Do we really need so many xattrs for larger block sizes for this test?
No, we don't. The goal of this test is to create a two-level dabtree of
xattrs having identical hashes. However, the test author apparently
forgot that if a dabtree is created in the attr fork, there will be a
dabtree entry for each extended attribute, not each attr leaf block.
Hence it's a waste of time to multiply da_records_per_block by
attr_records_per_block.
Patches soon, once I run this through overnight testing.
--D
> S1="KNR4qb1wJE1ncgC83X2XQg7CKwuqEYQjwuX3MG1o6FyqwrCXagIYlgGqtbLlpUn9prWpkCo9ChrxJOINgc3MBSG0La6Qhm9imcduPeGtC3IvQOzuKPsQAN3O5lVS9zha1giONke1RfnTcidsDlIxNcupydmZrdJmwHU7HRxWWqLTenWh3Gi5YNWExX0Ft94NEtfY8Lov2qvYJbTA5knONimQq5wUaK1Eo449pDXTnCOTRRhPnSHMXzNqT"
>
> mkfs.xfs -f -b size=32k -s size=4k /dev/loop16
> mount /dev/loop16 /mnt
> touch /mnt/foo
> time xfs_db -r -c "hashcoll -a -n 1048576 -p /mnt/foo $S1" /dev/loop16
>
> But also, for the life of me, I can't get the btree printed out, I see
> the nvlist but not btree, you can print *everything* out with just
> -c 'print':
>
> xfs_db -c 'path /hah' -c 'ablock 0' -c 'addr btree[0].before' -c 'print' /dev/loop16
>
> Luis
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-01-25 21:11 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-02 0:36 xfs/599 on LBS Luis Chamberlain
2024-01-25 21:11 ` Darrick J. Wong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox