aboutsummaryrefslogtreecommitdiff
path: root/sys/geom
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2022-01-28 16:09:30 +0000
committerAlexander Motin <mav@FreeBSD.org>2022-01-28 16:09:30 +0000
commit0d8cec7658d50e4190899376330c2c1eb5d8c659 (patch)
treed991b095aed8c37552954b35adf463831acfe010 /sys/geom
parent1a0dde338df8b493d74dcb2f7bbaaa6c02cab371 (diff)
downloadsrc-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.c2
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)