In case of misaligned I/O sequential requests are not detected as such
due to overlaps in logical block sequence:

    dmu_zfetch(fffff80198dd0ae0, 27347, 9, 1)
    dmu_zfetch(fffff80198dd0ae0, 27355, 9, 1)
    dmu_zfetch(fffff80198dd0ae0, 27363, 9, 1)
    dmu_zfetch(fffff80198dd0ae0, 27371, 9, 1)
    dmu_zfetch(fffff80198dd0ae0, 27379, 9, 1)
    dmu_zfetch(fffff80198dd0ae0, 27387, 9, 1)

This patch makes single block overlap to be counted as a stream hit,
improving performance up to several times.
You can view, comment on, or merge this pull request online at:

  https://github.com/openzfs/openzfs/pull/497

-- Commit Summary --

  * 8835 Speculative prefetch in ZFS not working for misaligned reads

-- File Changes --

    M usr/src/uts/common/fs/zfs/dmu_zfetch.c (19)

-- Patch Links --

https://github.com/openzfs/openzfs/pull/497.patch
https://github.com/openzfs/openzfs/pull/497.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openzfs/openzfs/pull/497

------------------------------------------
openzfs-developer
Archives: 
https://openzfs.topicbox.com/groups/developer/discussions/T7851c2386c192095-Me9a21bd967702b878d1ae75b
Powered by Topicbox: https://topicbox.com

Reply via email to