From owner-svn-src-head@freebsd.org Mon Dec 16 17:58:09 2019 Return-Path: Delivered-To: svn-src-head@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 A475E1CA531 for ; Mon, 16 Dec 2019 17:58:09 +0000 (UTC) (envelope-from jroberson@jroberson.net) Received: from mail-pl1-x642.google.com (mail-pl1-x642.google.com [IPv6:2607:f8b0:4864:20::642]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) 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 47c8Bm1B3Cz46TZ for ; Mon, 16 Dec 2019 17:58:08 +0000 (UTC) (envelope-from jroberson@jroberson.net) Received: by mail-pl1-x642.google.com with SMTP id d15so4802213pll.3 for ; Mon, 16 Dec 2019 09:58:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jroberson-net.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:in-reply-to:message-id:references :user-agent:mime-version; bh=Xp3BzVa71P3oe89anaj/7scMlIHCNg4rvvQSnhX4NcA=; b=nGXA2Qk6pO6guSbfsoLd9etJU29wLblTlUZ2NfFGGvKXHRpF8YqYGa1NpMDns9ysWW Hsw1S4UrvIxN9efPTGKIh4ms7gQ3pIncXasuK0wVCh5dsIqEDMUhw+W8P9UMK2LLHIJb e+CkelFSrmO+vy3UGBOxv/4XQX7AHB54kxzghC1zEUnBloi+8QIETPulcbkmqbUxN5Rj +klvSsu2dAh3SqVvDCH06fdN2+8/yQOev2a2y2Mvv+nYQjh7ALjRuHeeetQ23a3DKepo gINh+NDDSDYaWI3yiKoWF8bq+N/AV+D/XbIgYszbRJc45FK+YL93fPVTmtE/1TcaKu8v RomA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version; bh=Xp3BzVa71P3oe89anaj/7scMlIHCNg4rvvQSnhX4NcA=; b=Feb1a2uOx5l5Y24k/LPxCvOwUA4/SkQJWTBjWruHECObKAmo14nmBFoJsDAKPEfdZZ xn162ZwiioH6IJ97f73F/eIdkYEoLsO6Wly7qZy/+/jsya/XsDfmtSj6Cebx0JmOgWBH KyLFkPcH+/dapW5qfTln8aySRsVsOWAt//or4OOOX5M0amNq5rDX8FqJLrBkdOvA4rss JydMgJDAiP+muoqOg5UjhGoGlZZuKvtsZt1LJgw0nkDqwjvCKz+xkUdkY2fbo+kjWPWr ewkGBcPNlegqfWT4tK+GvrSPMPSHMqCqerfsoStmp98nrZ0JJUM9Lix9/iJJ8llBFbcN GEHA== X-Gm-Message-State: APjAAAUBMyxT65fy7yB+VE0B9Rh9TybsEWOZ6qd3PWDHTjeQvBv94F4N ay9jX/DhqBeCvuktf02FiOiJPA== X-Google-Smtp-Source: APXvYqwVTBOiwA5Q3b4WkzRDytCzMwZHxpzun5p5cdFoSBkuyLPWKMoRz7lo2KSq874gDay9sHurRg== X-Received: by 2002:a17:902:8603:: with SMTP id f3mr17566302plo.198.1576519086689; Mon, 16 Dec 2019 09:58:06 -0800 (PST) Received: from rrcs-76-81-105-82.west.biz.rr.com (rrcs-76-81-105-82.west.biz.rr.com. [76.81.105.82]) by smtp.gmail.com with ESMTPSA id x65sm19802164pfb.171.2019.12.16.09.58.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 16 Dec 2019 09:58:06 -0800 (PST) Date: Mon, 16 Dec 2019 07:58:03 -1000 (HST) From: Jeff Roberson X-X-Sender: jroberson@desktop To: Ryan Libby cc: Ed Maste , Jeff Roberson , src-committers , svn-src-all , svn-src-head , Mark Johnston , Konstantin Belousov Subject: Re: svn commit: r355784 - in head/sys: compat/linuxkpi/common/src dev/dpaa kern mips/nlm sys In-Reply-To: Message-ID: References: <201912152126.xBFLQoJ7037440@repo.freebsd.org> User-Agent: Alpine 2.21.9999 (BSF 287 2018-06-16) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Rspamd-Queue-Id: 47c8Bm1B3Cz46TZ X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=jroberson-net.20150623.gappssmtp.com header.s=20150623 header.b=nGXA2Qk6; dmarc=none; spf=none (mx1.freebsd.org: domain of jroberson@jroberson.net has no SPF policy when checking 2607:f8b0:4864:20::642) smtp.mailfrom=jroberson@jroberson.net X-Spamd-Result: default: False [-2.74 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[jroberson-net.20150623.gappssmtp.com:s=20150623]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-head@freebsd.org]; DMARC_NA(0.00)[jroberson.net]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[jroberson-net.20150623.gappssmtp.com:+]; RCPT_COUNT_SEVEN(0.00)[8]; RCVD_IN_DNSWL_NONE(0.00)[2.4.6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MID_RHS_NOT_FQDN(0.50)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_TLS_ALL(0.00)[]; IP_SCORE(-0.94)[ip: (-0.57), ipnet: 2607:f8b0::/32(-2.19), asn: 15169(-1.90), country: US(-0.05)] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Dec 2019 17:58:09 -0000 On Mon, 16 Dec 2019, Ryan Libby wrote: > On Mon, Dec 16, 2019 at 7:30 AM Ed Maste wrote: >> >> On Sun, 15 Dec 2019 at 16:27, Jeff Roberson wrote: >>> >>> Author: jeff >>> Date: Sun Dec 15 21:26:50 2019 >>> New Revision: 355784 >>> URL: https://svnweb.freebsd.org/changeset/base/355784 >>> >>> Log: >>> schedlock 4/4 >> >> FYI i386, arm, arm64, riscv fail to boot now, with "panic: invalid count 2" >> >> Boot logs: >> i386: https://ci.freebsd.org/job/FreeBSD-head-i386-test/7797/console >> arm: https://ci.freebsd.org/hwlab/job/FreeBSD-device-head-beaglebone-test/1317/artifact/device_tests/beaglebone.boot.log >> arm64: https://ci.freebsd.org/hwlab/job/FreeBSD-device-head-pinea64-test/1194/artifact/device_tests/pinea64.boot.log >> riscv: https://ci.freebsd.org/hwlab/job/FreeBSD-device-head-pinea64-test/1194/artifact/device_tests/pinea64.boot.log >> >> arm64 is: >> >> panic: invalid count 2 >> cpuid = 0 >> time = 1 >> KDB: stack backtrace: >> db_trace_self() at db_trace_self_wrapper+0x28 >> pc = 0xffff0000007359ec lr = 0xffff000000106744 >> sp = 0xffff000056b063c0 fp = 0xffff000056b065d0 >> >> db_trace_self_wrapper() at vpanic+0x18c >> pc = 0xffff000000106744 lr = 0xffff000000408128 >> sp = 0xffff000056b065e0 fp = 0xffff000056b06690 >> >> vpanic() at panic+0x44 >> pc = 0xffff000000408128 lr = 0xffff000000407ed8 >> sp = 0xffff000056b066a0 fp = 0xffff000056b06720 >> >> panic() at sched_switch+0x81c >> pc = 0xffff000000407ed8 lr = 0xffff000000434264 >> sp = 0xffff000056b06730 fp = 0xffff000056b06810 >> >> sched_switch() at mi_switch+0x170 >> pc = 0xffff000000434264 lr = 0xffff000000413690 >> sp = 0xffff000056b06820 fp = 0xffff000056b06840 >> >> mi_switch() at cpu_idle+0xc8 >> pc = 0xffff000000413690 lr = 0xffff0000007400a0 >> sp = 0xffff000056b06850 fp = 0xffff000056b06860 >> >> cpu_idle() at sched_idletd+0x380 >> pc = 0xffff0000007400a0 lr = 0xffff000000436a90 >> sp = 0xffff000056b06870 fp = 0xffff000056b06940 >> >> sched_idletd() at fork_exit+0x7c >> pc = 0xffff000000436a90 lr = 0xffff0000003c7ba4 >> sp = 0xffff000056b06950 fp = 0xffff000056b06980 >> >> fork_exit() at fork_trampoline+0x10 >> pc = 0xffff0000003c7ba4 lr = 0xffff0000007521ac >> sp = 0xffff000056b06990 fp = 0x0000000000000000 >> >> KDB: enter: panic >> [ thread pid 11 tid 100003 ] >> Stopped at 0 >> db> > > It looks like amd64 vs i386, riscv, etc are using different motifs in > spinlock_exit(). Perhaps we just need to rearrange them to drop the > spinlock count before critical_exit(), like in amd64. It took me a moment to see why but I believe you are right. Interrupts being disabled would prevent a local preemption with the flags out of sync but critical_exit() might have owepreempt set so we will switch before updating the count. Jeff > > Ryan >