Re: discard and data=writeback

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

> # dmesg |grep EXT4-fs |tail -1
> [ 1594.829833] EXT4-fs (nvme0n1p1): mounted filesystem with ordered
> data mode. Opts: data=ordered,discard
> # blktrace /dev/nvme0n1 & sleep 1 ; time rm -rf /media/linux-5.10/ ; kill $!
> [1] 3032
> 
> real    0m1.328s
> user    0m0.063s
> sys     0m1.231s
> # === nvme0n1 ===
>   CPU  0:                    0 events,        0 KiB data
>   CPU  1:                    0 events,        0 KiB data
>   CPU  2:                    0 events,        0 KiB data
>   CPU  3:                 1461 events,       69 KiB data
>   CPU  4:                    1 events,        1 KiB data
>   CPU  5:                    0 events,        0 KiB data
>   CPU  6:                    0 events,        0 KiB data
>   CPU  7:                    0 events,        0 KiB data
>   Total:                  1462 events (dropped 0),       69 KiB data
> 
> 
> # dmesg |grep EXT4-fs |tail -1
> [ 1734.837651] EXT4-fs (nvme0n1p1): mounted filesystem with writeback
> data mode. Opts: data=writeback,discard
> # blktrace /dev/nvme0n1 & sleep 1 ; time rm -rf /media/linux-5.10/ ; kill $!
> [1] 3069
> 
> real    1m30.273s
> user    0m0.139s
> sys     0m3.084s
> # === nvme0n1 ===
>   CPU  0:               133830 events,     6274 KiB data
>   CPU  1:                21878 events,     1026 KiB data
>   CPU  2:                46365 events,     2174 KiB data
>   CPU  3:                98116 events,     4600 KiB data
>   CPU  4:               290902 events,    13637 KiB data
>   CPU  5:                10926 events,      513 KiB data
>   CPU  6:                76861 events,     3603 KiB data
>   CPU  7:                17855 events,      837 KiB data
>   Total:                696733 events (dropped 0),    32660 KiB data
> 

In this result, there is few IO in ordered mode.

As I understand (please correct this if I am wrong), with writeback +
discard, ext4_issue_discard is called immediately at each rm command.
However, with ordered mode, ext4_issue_discard is called when end of
committing a transaction to pace with the corresponding transaction.
It means, they are not discarded yet.

Even with ordered mode, if sync is called after rm command,
ext4_issue_discard can be called due to transaction commit.
So, I think you will get similar results form writeback mode with sync
command.

Thanks,
Daejun



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux