From owner-dev-commits-src-all@freebsd.org Sun Sep 19 13:58:50 2021 Return-Path: Delivered-To: dev-commits-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C968266BB90; Sun, 19 Sep 2021 13:58:50 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com [IPv6:2a00:1450:4864:20::135]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4HC8Rt4kccz3mvF; Sun, 19 Sep 2021 13:58:50 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: by mail-lf1-x135.google.com with SMTP id y28so54443493lfb.0; Sun, 19 Sep 2021 06:58:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=KPBGb51m44Ri6kXs0efNUNg3SLGcHfKF+lvNP9svil0=; b=mGkakUQEzZeRmHKOphYmMfO0CnVYwDYVyaMOOrDQZNEXjcacLSrEPwqaWxjMpcUh7T zk/F1VLOIUd5AoLpMQozhBqqasOXD09pH4uwrXFwy1SNWabHx9Tr/SwjMSA09fs2f7qw HMOs5rd+h1PEnZhGTkjm/tlGxyw9gKa3NeQsLSU8sQwbSYqjLnapEVRhYGcsr2ww8Qwt hxOBd1k58JZJrioDQKeEHe+i8R8NDJ6W7Fl2hS3jGOMtWTb0vi0iFzQPLTiXNhdUkadl 6IBiMVdkSDGEZZHys+t2DrkdmkjMplk8iKSlsZNFey2Bz4mYxqpoj3m8V2yvBll0Hokz ks9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=KPBGb51m44Ri6kXs0efNUNg3SLGcHfKF+lvNP9svil0=; b=bQD6bvKV8Gj8/yzSRJ4kAG8vsYaG8CdMNjmNivTttH8UZ292Z8HZY0bEiEsaiRSaGW aWUODVFmj/BrMJt56FAfJkFubIiAFtCJ9Fu2eOsICFH4qJ1WaFdLfhR4i1sDrt+lqWDM j+J1Dlz1pp1LlaTY+5QHfINUIsPbh7SQ1aJFYk6de3z68JtaZ202qTVhQ96Uufn4IOUR pACZKjs1JWA7j2rQIVnnVrg+sS8LyTulYGwgeR4VO+3CYeF5wYti+IunxX5KKQgVtyNs R+zE49BY1OU5q3oD0Zts3bBujBEpRq04mPGzk7G9S/IkdZeFLzSJAqYbud0WvlC6zh/k f8lQ== X-Gm-Message-State: AOAM531PaksPEQpxm7AN8pTMmy5qZj44/N7w7+fdV8VG8NMpVrAAW0JA pO78b6BNE+7Ys2//jeZ3bh7wwJl+4ZwmyYVudpO/q6/6 X-Google-Smtp-Source: ABdhPJz0WSjLviFMbTYhobSwbzS10IsVtSfTAn7K2FusAJqrBiPzJp+uW3IQAkgi90RvDE9aRInt1QcaphSoYNqR280= X-Received: by 2002:a05:6512:110a:: with SMTP id l10mr3005475lfg.550.1632059929359; Sun, 19 Sep 2021 06:58:49 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a05:651c:2115:0:0:0:0 with HTTP; Sun, 19 Sep 2021 06:58:48 -0700 (PDT) In-Reply-To: References: <202109181018.18IAIMfG066006@gitrepo.freebsd.org> From: Mateusz Guzik Date: Sun, 19 Sep 2021 15:58:48 +0200 Message-ID: Subject: Re: git: f902e4bb04ad - main - lockmgr: fix lock profiling of face adaptive spinning To: Mitchell Horne Cc: src-committers , dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4HC8Rt4kccz3mvF X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-BeenThere: dev-commits-src-all@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for all branches of the src repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Sep 2021 13:58:50 -0000 On 9/18/21, Mitchell Horne wrote: > On Sat, Sep 18, 2021 at 7:18 AM Mateusz Guzik wrote: >> >> The branch main has been updated by mjg: >> >> URL: >> https://cgit.FreeBSD.org/src/commit/?id=f902e4bb04ad717935a97ce1ae59e2dd389d940d >> >> commit f902e4bb04ad717935a97ce1ae59e2dd389d940d >> Author: Mateusz Guzik >> AuthorDate: 2021-09-11 18:23:51 +0000 >> Commit: Mateusz Guzik >> CommitDate: 2021-09-18 10:16:58 +0000 >> >> lockmgr: fix lock profiling of face adaptive spinning > > In what way was it broken? > If there was only spinning the time would fail to register. > Mitchell > >> --- >> sys/kern/kern_lock.c | 11 +++++++---- >> 1 file changed, 7 insertions(+), 4 deletions(-) >> >> diff --git a/sys/kern/kern_lock.c b/sys/kern/kern_lock.c >> index bec49f29d162..2eb4feb7c4b5 100644 >> --- a/sys/kern/kern_lock.c >> +++ b/sys/kern/kern_lock.c >> @@ -631,6 +631,9 @@ lockmgr_slock_hard(struct lock *lk, u_int flags, >> struct lock_object *ilk, >> if (lockmgr_slock_try(lk, &x, flags, false)) >> break; >> >> + lock_profile_obtain_lock_failed(&lk->lock_object, false, >> + &contested, &waittime); >> + >> if ((flags & (LK_ADAPTIVE | LK_INTERLOCK)) == LK_ADAPTIVE) >> { >> if (lockmgr_slock_adaptive(&lda, lk, &x, flags)) >> continue; >> @@ -639,8 +642,6 @@ lockmgr_slock_hard(struct lock *lk, u_int flags, >> struct lock_object *ilk, >> #ifdef HWPMC_HOOKS >> PMC_SOFT_CALL( , , lock, failed); >> #endif >> - lock_profile_obtain_lock_failed(&lk->lock_object, false, >> - &contested, &waittime); >> >> /* >> * If the lock is expected to not sleep just give up >> @@ -845,6 +846,10 @@ lockmgr_xlock_hard(struct lock *lk, u_int flags, >> struct lock_object *ilk, >> break; >> continue; >> } >> + >> + lock_profile_obtain_lock_failed(&lk->lock_object, false, >> + &contested, &waittime); >> + >> if ((flags & (LK_ADAPTIVE | LK_INTERLOCK)) == LK_ADAPTIVE) >> { >> if (lockmgr_xlock_adaptive(&lda, lk, &x)) >> continue; >> @@ -852,8 +857,6 @@ lockmgr_xlock_hard(struct lock *lk, u_int flags, >> struct lock_object *ilk, >> #ifdef HWPMC_HOOKS >> PMC_SOFT_CALL( , , lock, failed); >> #endif >> - lock_profile_obtain_lock_failed(&lk->lock_object, false, >> - &contested, &waittime); >> >> /* >> * If the lock is expected to not sleep just give up > -- Mateusz Guzik