Project

General

Profile

Actions

Bug #8373

closed

TXG_WAIT in ZIL commit path

Added by Andriy Gapon over 5 years ago. Updated over 5 years ago.

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

100%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:
External Bug:

Description

The code that writes ZIL blocks uses dmu_tx_assign(TXG_WAIT) to assign a transaction to a transaction group.
That seems to be logically incorrect as writing of the ZIL block does not introduce any new dirty data.
Also, when there is a lot of dirty data, the call can introduce significant delays into the ZIL commit path,
thus affecting all synchronous writes. Additionally, ARC throttling may affect the ZIL writing.

We probably need a new mechanism similar to dmu_tx_create_assigned to assign ZIL transactions.
(Ab)using TXG_WAITED does not seem to be sufficient.

Actions

Also available in: Atom PDF