Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp302815pxa; Tue, 11 Aug 2020 03:29:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxFCLYUgjp+qVNweM4JKHslWg69gFFNKI0vPCz8w9T72MKNoD5LFE0FcoL7rox96rmTgY3O X-Received: by 2002:a17:906:e0d:: with SMTP id l13mr27013792eji.434.1597141786128; Tue, 11 Aug 2020 03:29:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597141786; cv=none; d=google.com; s=arc-20160816; b=ttDNo/reirAj976mt/KE62o30HH4ZHjbx1u3VQ8JtD+Hrb/02tPfWzFeDnxsGVuUGs 3tBvqHZLdDJsuJkS2Cox9r0OsVKgG0dnqChq5/I/7GfH8fTWuFgImL/xtR9YCQWl+nou EcLo649IeX7ODrH2bbf4p+FHK8fRtljM0LWpEV0EubG0VzB1yPzgd5vvJDlbJN86FqgA RQMQQI8zYiCKS+FcjqOlVOsy7xEbpkjBVrV5lvDwf4+6fN70ozyusXg2QRbfbxLeObtR q6/pZvxnTcbvS44JDNyQf9Bo//e3BffC5tyZbQgHZ2ok/evjY3aLU2GvBeCq7xzAvBya d82g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:dkim-signature:dkim-signature:date; bh=jp00Rr/a4cDX95tUyF9kFZf8y43Q4hOeQjwY+IySvJE=; b=swNSJmJNdkEn+yCYSy6BBv0+cAUvUOan+oN6qYbNnV2aNg2dTG4sXq2rs0eGPZwdVE tCLLUaDFUe5cm66BXN9+pTJbcE/q+3Bpk8eKR10X7DRWTGgcMJ03oR43cKkjPTPuFlli 6z/t4ygljWwumU3ZeDQAS8ASdgSMq+7AOiDWSXrZRUJCOykkR5VQjUl0sooqpZCDTZ+8 Jz9SdP3neyl2JKyDO3cZZsOVtzV0mAQnJiOHfExEi3iRqam7xWHP2PkAVjLkUEpU4j99 s9o5DPK3hS5njdTwqnU5YKW+wZ8oNLLneZiJOWJ7Upg1uYvRj1Dv5+tPTPDAmfufZ2jq cSzg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=zkqeyvOR; dkim=neutral (no key) header.i=@vger.kernel.org; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id k23si11388070ejg.514.2020.08.11.03.29.23; Tue, 11 Aug 2020 03:29:46 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=zkqeyvOR; dkim=neutral (no key) header.i=@vger.kernel.org; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728573AbgHKK1r (ORCPT + 99 others); Tue, 11 Aug 2020 06:27:47 -0400 Received: from Galois.linutronix.de ([193.142.43.55]:57080 "EHLO galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728660AbgHKK1j (ORCPT ); Tue, 11 Aug 2020 06:27:39 -0400 Date: Tue, 11 Aug 2020 12:27:35 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1597141657; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=jp00Rr/a4cDX95tUyF9kFZf8y43Q4hOeQjwY+IySvJE=; b=zkqeyvORSehZ1011o/jDBzYfgqEUWc7nSPhc+cuBiFnjrp59giKDvUWCHYXLdYT7f+2dVD +KtbUyoVte8z13xRz83p3Ps1FtHWO4nwlx+h9OMbbm24O7q/lEl7/FfX9Fat05KIlNDyD7 vvw580NH77BBXxuB/MQfAPfSlwcyPaAE3xF/IKRKt333j05+15uH0YYwMga9s3u+9zE14E cXb9TfhLjljNhI6L+MiD6qnx8yXP21r6LxEIuFU8pw17GYR1MGgV8skNP1aB/GT5ne/4oG r7qri2wm18w7p53BsGT1LM0AKtS8Tqa78TDqvhlMZK7YcT6gGMu2GZGiEvEWqQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1597141657; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=jp00Rr/a4cDX95tUyF9kFZf8y43Q4hOeQjwY+IySvJE=; b=uRP3HjIjqKMTFF8Zk9/NrdRmUpb/WYsuP90kV8dQfAPvbaKiVMr614nI4JvggAfYdBb5PF 90QeXgwmEsUE0ZAQ== From: Sebastian Andrzej Siewior To: "Rafael J. Wysocki" Cc: Zhang Rui , Robert Moore , Erik Kaneda , "Rafael J. Wysocki" , Len Brown , Thomas Gleixner , Peter Zijlstra , Linux Kernel Mailing List , ACPI Devel Maling List , Stephen Berman , "open list:ACPI COMPONENT ARCHITECTURE (ACPICA)" Subject: Re: power-off delay/hang due to commit 6d25be57 (mainline) Message-ID: <20200811102735.yifejbx62ewzpfcs@linutronix.de> References: <20200616155501.psduxnisltitodme@linutronix.de> <871rmesqkk.fsf@gmx.net> <20200617142734.mxwfoblufmo6li5e@linutronix.de> <87ftatqu07.fsf@gmx.net> <20200624201156.xu6hel3drnhno6c3@linutronix.de> <87ftak2kxr.fsf@rub.de> <20200714134410.3odqfvjq6rndjjf6@linutronix.de> <20200714141135.47adndrsdgpiqfy4@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2020-07-14 17:53:15 [+0200], Rafael J. Wysocki wrote: > acpi_evaluate_integer() doesn't show up in the trace, though, AFAICS. >=20 > > I assumed acpi_ex_opcode_2A_0T_0R() since the other > > candidate was acpi_ev_asynch_execute_gpe_method(). >=20 > Which probably is the case. Specifically >=20 > acpi_ev_asynch_execute_gpe_method: Evaluate _L66 >=20 > is likely to cause the Notify() to be dispatched. =E2=80=A6 > > Rafael, are you also interested in an ACPI dump? >=20 > That might help a bit. >=20 > So what probably happens is that poking at the TZ causes a GPE to > trigger and a Notify() to be dispatched which then goes into the > workqueue for execution. >=20 > Now, I'm not sure what happens to those Notify() items, though. They > each should cause a handler (in the thermal driver) to be executed, > but does that happen? Stephen's trace contains a few backtraces, all of them look like this: | Call Trace: | acpi_ex_opcode_2A_0T_0R+0x93/0xdf | acpi_ds_exec_end_op+0x10d/0x701 | acpi_ps_parse_loop+0x7f2/0x8c3 | acpi_ps_parse_aml+0x1a5/0x540 | acpi_ps_execute_method+0x1fe/0x2ba | acpi_ns_evaluate+0x345/0x4e2 | acpi_evaluate_object+0x177/0x39f | acpi_evaluate_integer+0x4f/0x110 | acpi_thermal_get_temperature.part.0+0x45/0xc4 | thermal_get_temp.cold+0xc/0x2e | thermal_zone_get_temp+0x4c/0x70 | thermal_zone_device_update.part.0+0x2a/0x110 | acpi_thermal_notify+0xcf/0x140 | acpi_ev_notify_dispatch+0x45/0x5a | acpi_os_execute_deferred_notify+0x34/0x60 | process_one_work+0x1d2/0x3a0 | worker_thread+0x45/0x3c0 | kthread+0xf6/0x130 | ret_from_fork+0x35/0x40 so no GPE and it comes the notify callback while parsing the ACPI table. Any ideas? I guess acpi_ex_opcode_2A_0T_0R() uses the workqueue because it may sleep and it might be invoked from non-preemptible context. Sebastian