Date: Sun, 31 Jul 2011 01:21:12 +0300 From: Alexander Motin <mav@FreeBSD.org> To: Andriy Gapon <avg@FreeBSD.org> Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r224496 - head/sys/cam Message-ID: <4E3483D8.3060507@FreeBSD.org> In-Reply-To: <4E3474CE.5090301@FreeBSD.org> References: <201107292030.p6TKUSaf064895@svn.freebsd.org> <20110730163723.GZ17489@deviant.kiev.zoral.com.ua> <4E346DD9.5030902@FreeBSD.org> <4E3474CE.5090301@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Andriy Gapon wrote: > on 30/07/2011 23:47 Alexander Motin said the following: >> After many experiments I believe that problem is not related to this >> change. I've managed to reproduce it depending on GEOM modules >> registration order. After I disabled all GEOM modules and only geom_dev >> left, problem became persistent. Specifics of the geom_dev is that it >> opens device and closes it back without doing any I/O. That caused race >> condition between CCB allocation for FLUSHCACHE execution in adaclose() >> and higher-priority commands of device initialization sequence. Any I/O >> scheduled before adaclose() closed that race, making problem rare. The >> problem is specific to the ada, as for no other driver initialization >> and payload requests may intersect in time. > > somewhat contradicting your conclusions... can the following issue be also > caused by similar mechanics? > http://lists.freebsd.org/pipermail/freebsd-current/2010-October/020336.html Not sure, At least not exactly the same. cd driver keeps hold on device until probe completes, effectively blocking cdopen(). Seems there was a window in case of CD changers (closed month ago at r223557), but it should not affect plain CDs. Also, as soon as cd driver sends requests from cdopen(), not cdclose(), there would be much more chances to hit some global problem, as it would not depend on GEOM taste order. -- Alexander Motin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E3483D8.3060507>