From owner-freebsd-net@FreeBSD.ORG Wed Jan 28 21:19:56 2015 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3D0CDF25 for ; Wed, 28 Jan 2015 21:19:56 +0000 (UTC) Received: from phabric-backend.isc.freebsd.org (phabric-backend.isc.freebsd.org [IPv6:2001:4f8:3:ffe0:406a:0:50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F2E9099 for ; Wed, 28 Jan 2015 21:19:55 +0000 (UTC) Received: from phabric-backend.isc.freebsd.org (phabric-backend.isc.freebsd.org [127.0.1.5]) by phabric-backend.isc.freebsd.org (8.14.9/8.14.9) with ESMTP id t0SLJtp0096896 for ; Wed, 28 Jan 2015 21:19:55 GMT (envelope-from mat@phabric-backend.isc.freebsd.org) Received: (from root@localhost) by phabric-backend.isc.freebsd.org (8.14.9/8.14.9/Submit) id t0SLJtCq096894; Wed, 28 Jan 2015 21:19:55 GMT (envelope-from mat) Date: Wed, 28 Jan 2015 21:19:55 +0000 To: freebsd-net@freebsd.org From: "hselasky (Hans Petter Selasky)" Subject: [Differential] [Commented On] 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: <4f6927867f192f15826ff36ed897df80@localhost.localdomain> X-Priority: 3 Thread-Topic: D1711: Changes to the callout code to restore active semantics and also add a test-framework and test to validate the callout code (and potentially for use by other tests). X-Herald-Rules: none X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: In-Reply-To: References: Thread-Index: Y2JjMTcyODJkYzgxM2NkZDFjY2RhOGRmMTlkIFTJUns= X-Phabricator-Sent-This-Message: Yes X-Mail-Transport-Agent: MetaMTA X-Auto-Response-Suppress: All X-Phabricator-Mail-Tags: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jan 2015 21:19:56 -0000 hselasky added a comment. Did you upload the correct patch? INLINE COMMENTS sys/kern/kern_timeout.c:674 I don't mean inside the if (c_lock != NULL) { } There should be an else case after it. if (c_lock != NULL) { ... } else { /* The callout cannot be stopped now */ cc_exec_cancel(cc, direct) = true; /* XXX this piece is missing */ } Because else callout_stop() will return (1) when cancel() == false, which is a lie. It cannot stop the MPSAFE callout in this case and has to let it run ??? REVISION DETAIL https://reviews.freebsd.org/D1711 To: rrs, gnn, rwatson, imp, adrian, sbruno, lstewart, hselasky Cc: neel, erj, freebsd-net