Skip site navigation (1)Skip section navigation (2)
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>