westerndigitalcorporation / zenfs

ZenFS is a storage backend for RocksDB that enables support for ZNS SSDs and SMR HDDs.
GNU General Public License v2.0
243 stars 88 forks source link

fs: Align direct and unaligned read requests to blocksize boundary #147

Closed aravind-wdc closed 2 years ago

aravind-wdc commented 2 years ago

For read requests which are direct and unaligned, zenfs fallsback on buffered reads. As a result, applications using direct reads could experience buffered reads and can also see a spike in kernel buffer usage. Align the read request size to the next blocksize boundary and issue direct reads for such requests.

Signed-off-by: Aravind Ramesh aravind.ramesh@wdc.com

aravind-wdc commented 2 years ago

This address the issue WDCZEN-22 in jira, where percona-myrocks experienced high kernel memory usage (~100gb) in bulk mode when doing direct reads.

yhr commented 2 years ago

@aravind-wdc : could you submit a PR to the V1 branch as well?

yhr commented 2 years ago

pushed manually