On Sun, Feb 17, 2019 at 03:36:10PM -0500, Ric Wheeler wrote: > One proposal for btrfs was that we should look at getting discard > out of the synchronous path in order to minimize the slowdown > associated with enabling discard at mount time. Seems like an > obvious win for "hint" like operations like discard. We already have support for that. blkdev_issue_discard() is synchornous, yes, but __blkdev_issue_discard() will only build the discard bio chain - it is up to the caller to submit and wait for it. Some callers (XFS, dm-thinp, nvmet, etc) use a bio completion to handle the discard IO completion, hence allowing async dispatch and processing of the discard chain without blocking the caller. Others (like ext4) simply call submit_bio_wait() to do wait synchronously on completion of the discard bio chain. > I do wonder where we stand now with the cost of the various discard > commands - how painful is it for modern SSD's? AIUI, it still depends on the SSD implementation, unfortunately. Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx