Date: Wed, 4 Feb 2015 13:06:58 +0000 From: "julian (JulianElischer)" <phabric-noreply@FreeBSD.org> To: freebsd-net@freebsd.org Subject: [Differential] [Changed Subscribers] D1711: Changes to the callout code to restore active semantics and also add a test-framework and test to validate thecallout code (and potentially for use by other tests). Message-ID: <0453f7b043b66893da264b0a6028bd02@localhost.localdomain> In-Reply-To: <differential-rev-PHID-DREV-vhk6ww63dvpj6egspuyt-req@FreeBSD.org> References: <differential-rev-PHID-DREV-vhk6ww63dvpj6egspuyt-req@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
julian added a subscriber: julian. julian added a comment. >>! In D1711#66, @rrs wrote: > 3) The callout_stop() on CPU 2 does what it is supposed to and sets the cc_cancel bit to true and > return 1. This causes callout_stop() to lower the reference count which means when llentry_free() > is called the lle *is* freed. This calls into either in_lltable_free() or in6_lltable_free() which > unlocks the lock (letting CPU 1 go forward) and then promptly destroys the lock > and frees the memory. > Surely the answer is for the other thread to take out a reference so that callout_stop() doesn't get the value to 0 REVISION DETAIL https://reviews.freebsd.org/D1711 To: rrs, gnn, rwatson, lstewart, jhb, kostikbel, hselasky, adrian, imp, sbruno Cc: julian, hiren, jhb, kostikbel, emaste, delphij, neel, erj, freebsd-net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0453f7b043b66893da264b0a6028bd02>