Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Aug 2015 08:13:35 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r286404 - head/sys/geom
Message-ID:  <201508070813.t778DZUm010906@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kib
Date: Fri Aug  7 08:13:34 2015
New Revision: 286404
URL: https://svnweb.freebsd.org/changeset/base/286404

Log:
  The condition to use direct processing for the unmapped bio is
  reverted.  We can do direct processing when g_io_check() does not need
  to perform transient remapping of the bio, otherwise the thread has to
  sleep.
  
  Reviewed by:	mav (previous version)
  Sponsored by:	The FreeBSD Foundation
  MFC after:	1 week

Modified:
  head/sys/geom/geom_io.c

Modified: head/sys/geom/geom_io.c
==============================================================================
--- head/sys/geom/geom_io.c	Fri Aug  7 07:05:47 2015	(r286403)
+++ head/sys/geom/geom_io.c	Fri Aug  7 08:13:34 2015	(r286404)
@@ -520,8 +520,8 @@ g_io_request(struct bio *bp, struct g_co
 	direct = (cp->flags & G_CF_DIRECT_SEND) &&
 		 (pp->flags & G_PF_DIRECT_RECEIVE) &&
 		 !g_is_geom_thread(curthread) &&
-		 (((pp->flags & G_PF_ACCEPT_UNMAPPED) == 0 &&
-		   (bp->bio_flags & BIO_UNMAPPED) != 0) || THREAD_CAN_SLEEP());
+		 ((pp->flags & G_PF_ACCEPT_UNMAPPED) != 0 ||
+		 (bp->bio_flags & BIO_UNMAPPED) == 0 || THREAD_CAN_SLEEP());
 	if (direct) {
 		/* Block direct execution if less then half of stack left. */
 		size_t	st, su;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201508070813.t778DZUm010906>