diff options
author | Alexander Motin <mav@FreeBSD.org> | 2022-01-28 16:09:30 +0000 |
---|---|---|
committer | Alexander Motin <mav@FreeBSD.org> | 2022-01-28 16:09:30 +0000 |
commit | 0d8cec7658d50e4190899376330c2c1eb5d8c659 (patch) | |
tree | d991b095aed8c37552954b35adf463831acfe010 /sys/geom | |
parent | 1a0dde338df8b493d74dcb2f7bbaaa6c02cab371 (diff) | |
download | src-0d8cec7658d50e4190899376330c2c1eb5d8c659.tar.gz src-0d8cec7658d50e4190899376330c2c1eb5d8c659.zip |
graid: Set G_CF_DIRECT_SEND for task consumer.
Unlike normal consumers all taste consumer I/O is synchronous, done
with g_read_data() and without any locks held. It makes no sense to
delegate I/O submission to g_down thread.
This should remove number of context switches during disk retaste.
MFC after: 2 weeks
Diffstat (limited to 'sys/geom')
-rw-r--r-- | sys/geom/raid/g_raid.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/geom/raid/g_raid.c b/sys/geom/raid/g_raid.c index 807cca5b7e50..fc5852d28fd7 100644 --- a/sys/geom/raid/g_raid.c +++ b/sys/geom/raid/g_raid.c @@ -2227,7 +2227,7 @@ g_raid_taste(struct g_class *mp, struct g_provider *pp, int flags __unused) */ gp->orphan = g_raid_taste_orphan; cp = g_new_consumer(gp); - cp->flags |= G_CF_DIRECT_RECEIVE; + cp->flags |= G_CF_DIRECT_SEND | G_CF_DIRECT_RECEIVE; if (g_attach(cp, pp) != 0) goto ofail2; if (g_access(cp, 1, 0, 0) != 0) |