Project

General

Profile

Actions

Bug #12586

closed

zvol_write() can use dmu_tx_hold_write_by_dnode()

Added by Jason King about 2 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
zfs - Zettabyte File System
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

Port of OpenZFS #10184:

zvol_write() can use dmu_tx_hold_write_by_dnode()
We can improve the performance of writes to zvols by using
dmu_tx_hold_write_by_dnode() instead of dmu_tx_hold_write(). This
reduces lock contention on the first block of the dnode object, and also
reduces the amount of CPU needed. The benefit will be highest with
multi-threaded async writes (i.e. writes that don't call zil_commit()).

Reviewed-by: Jorgen Lundman <>
Reviewed-by: Brian Behlendorf <>
Reviewed-by: Tony Nguyen <>
Signed-off-by: Matthew Ahrens <>
Closes #10184


Related issues

Related to illumos gate - Bug #12518: Sync with openzfsNew

Actions
Actions #1

Updated by Jason King about 2 years ago

Actions #2

Updated by Jason King about 2 years ago

To test, I ran the zfs test suite. The only failures were known failures (with tickets).

Actions #3

Updated by Electric Monk about 2 years ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

git commit 25df42a1dccd017663f3ad651c90038648d1d6a8

commit  25df42a1dccd017663f3ad651c90038648d1d6a8
Author: Matthew Ahrens <mahrens@delphix.com>
Date:   2020-04-22T20:56:51.000Z

    12586 zvol_write() can use dmu_tx_hold_write_by_dnode()
    Reviewed by: Jorgen Lundman <lundman@lundman.net>
    Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
    Reviewed by: Tony Nguyen <tony.nguyen@delphix.com>
    Reviewed by: Andrew Stormont <andyjstormont@gmail.com>
    Approved by: Dan McDonald <danmcd@joyent.com>

Actions

Also available in: Atom PDF