From owner-svn-src-projects@FreeBSD.ORG Fri Sep 7 22:35:18 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 411F41065687; Fri, 7 Sep 2012 22:35:18 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from mail-lpp01m010-f54.google.com (mail-lpp01m010-f54.google.com [209.85.215.54]) by mx1.freebsd.org (Postfix) with ESMTP id 152678FC15; Fri, 7 Sep 2012 22:35:16 +0000 (UTC) Received: by lage12 with SMTP id e12so71889lag.13 for ; Fri, 07 Sep 2012 15:35:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=mrG2meST1wzoJLGELb0TTYDCsIUBb7njBt/+lrD52CU=; b=DMdNq27z0BRuSN3SgCszTreraSmJP4OWfDzYoQb2pgz1rag4/gFEJe/6XDR+TDxcFT j6oIIEJkeA7zhVfPl1fUH5gI3l5ppWDX3lrWC38LFWJiNwzeGe3Klf4qaomb6JRTYCES ViUvP9lQO+mSbd/kqQUV2ujjQMpb4AJ57pV5jRzG1gxXBQ0FPlEg3SNkw1YJnlwe1/LW qsofaEYPwpSMvAO5gNnUO7gIZaLJSmi4SVCYj7fCIHb1AQVCEc2EUk9YJNE9513/+2xj AZIn9CHQdHcW68lLuoF04T2H8cwm9Q3dj7e3nedGRlREznUaHB2Kkgh4yhZhlRUx6Mun CNUw== MIME-Version: 1.0 Received: by 10.112.82.66 with SMTP id g2mr2691381lby.15.1347057315606; Fri, 07 Sep 2012 15:35:15 -0700 (PDT) Sender: asmrookie@gmail.com Received: by 10.112.102.39 with HTTP; Fri, 7 Sep 2012 15:35:15 -0700 (PDT) In-Reply-To: References: <201207301350.q6UDobCI099069@svn.freebsd.org> <20120730143943.GY2676@deviant.kiev.zoral.com.ua> <5016A21B.6090409@FreeBSD.org> <5016A8E4.7070405@FreeBSD.org> Date: Fri, 7 Sep 2012 23:35:15 +0100 X-Google-Sender-Auth: PoD60VJ56bg0HEa18JtJfEjZX_c Message-ID: From: Attilio Rao To: Andriy Gapon Content-Type: text/plain; charset=UTF-8 Cc: Konstantin Belousov , Davide Italiano , src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: Re: svn commit: r238907 - projects/calloutng/sys/kern X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: attilio@FreeBSD.org List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Sep 2012 22:35:18 -0000 On Mon, Jul 30, 2012 at 9:39 PM, Attilio Rao wrote: > On Mon, Jul 30, 2012 at 4:31 PM, Andriy Gapon wrote: >> on 30/07/2012 18:04 Attilio Rao said the following: >>> On 7/30/12, Andriy Gapon wrote: >>>> on 30/07/2012 17:56 Attilio Rao said the following: >>>>> More explicitly, I think such combination TDP_NOSLEEPING + >>>>> TDP_NOBLOCKING (name invented) should be set on entering the interrupt >>>>> context, not only related to this part of callouts. This would be a >>>>> very good help for catching buggy situations. >>>> >>>> Something very tangential. I think it would also be nice to check if a >>>> thread has >>>> any(?) locks held when returning to userland. >>> >>> This happens already for INVARIANTS case, with td_locks counters. >>> In the !INVARIANTS case, this doesn't happen because you don't want to >>> add the burden to bump td_locks for the fast case and I think it is a >>> good approach. >> >> Ah, I missed that, thank you. >> BTW, it seems that td_locks is checked twice in normal syscallret() path: once in >> syscallret() itself and then in userret(). On this note, would it make sense to >> move the whole nine yards of asserts from syscallret() to userret()? >> I mean it might make sense to have those checks (td_critnest, td_pflags) in other >> paths to userland. > > Nice catch. > The checks were added to syscallret() in r208453. While this is fine, > I think that putting them in userret() may give them more exposure and > cover also cases like traps which are not covered right now. > If you want to make a patch that moves these conditions in userret() > I'd be in favor of it. More specifically, what do you think about this patch?: http://www.freebsd.org/~attilio/userret_diag.patch Of course I moved the XEN par too before the checks. The patch survived to few consecutive and parallel buildworlds, FWIW. Attilio -- Peace can only be achieved by understanding - A. Einstein