On 7/12/15 8:05 AM, William Allen Simpson wrote: Noting that I've had for some weeks (Jun 19) a replacement for SVC_RELEASE() that uses an inline function instead. Coverity seems to be better with inline, so this will probably go away on its own.
That patch happens to be called: "Convert svc_destroy and references to inline atomics" Eliminates a dozen of the most common transport [un]lock pairs. Also uses atomic to set xp_flags. Frank, do we want it this week? This is another we need for speed, and will need lots of testing. >> ** CID 124492: Program hangs (LOCK) >> /nfs-ganesha/src/libntirpc/src/svc_ioq.c: 206 in svc_ioq_callback() >> > False positive. Somebody needs to teach Coverity to expand macros. > Probably not just expand macros, but check call vectors. May be too hard for it.... > >> >> ________________________________________________________________________________________________________ >> *** CID 124492: Program hangs (LOCK) >> /nfs-ganesha/src/libntirpc/src/svc_ioq.c: 206 in svc_ioq_callback() >> 200 for (;;) { >> 201 mutex_lock(&xprt->xp_lock); >> 202 have = TAILQ_FIRST(&xd->shared.ioq.qh); >> 203 if (unlikely(!have || !svc_work_pool.params.thrd_max)) { >> 204 xd->shared.active = false; >> 205 SVC_RELEASE(xprt, SVC_RELEASE_FLAG_LOCKED); >>>>> CID 124492: Program hangs (LOCK) >>>>> Returning without unlocking "xprt->xp_lock". >> 206 return; >> 207 } >> 208 >> 209 TAILQ_REMOVE(&xd->shared.ioq.qh, have, q); >> 210 (xd->shared.ioq.qcount)--; >> 211 /* do i/o unlocked */ ------------------------------------------------------------------------------ Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ _______________________________________________ Nfs-ganesha-devel mailing list Nfs-ganesha-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel