All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Moore, Robert" <robert.moore@intel.com>
To: "Zheng, Lv" <lv.zheng@intel.com>,
	"Deak, Imre" <imre.deak@intel.com>,
	"Wysocki, Rafael J" <rafael.j.wysocki@intel.com>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	"devel@acpica.org" <devel@acpica.org>
Cc: "Box, David E" <david.e.box@intel.com>
Subject: RE: 4.9-rc1: [TMP_] ACPI namespace lookup failure, AE_ALREADY_EXISTS
Date: Thu, 27 Oct 2016 15:31:47 +0000	[thread overview]
Message-ID: <94F2FBAB4432B54E8AACC7DFDE6C92E37E51855E@ORSMSX110.amr.corp.intel.com> (raw)
In-Reply-To: <1AE640813FDE7649BE1B193DEA596E886A2579A5@SHSMSX101.ccr.corp.intel.com>



> -----Original Message-----
> From: Zheng, Lv
> Sent: Monday, October 24, 2016 12:36 AM
> To: Deak, Imre <imre.deak@intel.com>; Moore, Robert
> <robert.moore@intel.com>; Wysocki, Rafael J
> <rafael.j.wysocki@intel.com>; linux-acpi@vger.kernel.org;
> devel@acpica.org
> Subject: RE: 4.9-rc1: [TMP_] ACPI namespace lookup failure,
> AE_ALREADY_EXISTS
> 
> Hi, Imre
> 
> > From: Deak, Imre
> > Subject: Re: 4.9-rc1: [TMP_] ACPI namespace lookup failure,
> > AE_ALREADY_EXISTS
> >
> > On Fri, 2016-10-21 at 22:46 +0300, Zheng, Lv wrote:
> > > [...]
> > > I checked the code, only found one issue.
> > > And I'm not sure if it is related.
> > > Please send me the full dmesg containing the errors and the acpidump
> > >output.
> >
> > I attached the dmesg containing the error during boot (happened 1 out
> > of 200 boots), during reboot (20 out of 200 reboots), during suspend
> > (happened all the time).
> 
> I just checked the error and the related code.
> 
> 1. What the error is
> The error message is generated by an old method auto-serial mechanism.
> However this mechanism should have been disabled by new auto-serial
> approach.
[Moore, Robert] 


We kept the original auto-serialize mechanism because the new one is not 100% deterministic. Thus, the original mechanism is a fallback case, that is why it is still there. It should not be removed.





> 
> See: the error is generated by the code in
> drivers/acpi/acpica/psparse.c:
> 			if ((status == AE_ALREADY_EXISTS) &&
> 			    (!(walk_state->method_desc->method.
> 			       info_flags & ACPI_METHOD_SERIALIZED))) {
> 				/*
> 				 * Method is not serialized and tried to create an
> object
> 				 * twice. The probable cause is that the method
> cannot
> 				 * handle reentrancy. Mark as "pending serialized"
> now, and
> 				 * then mark "serialized" when the last thread
> exits.
> 				 */
> 				walk_state->method_desc->method.info_flags |=
> 				    ACPI_METHOD_SERIALIZED_PENDING;
> 			}
> It can only happen when ACPI_METHOD_SERIALIZED flag is not set.
> However, in the upstream kernel, this flag is set by the code in
> drivers/acpi/acpica/dsinit.c:
> 		if (obj_desc->method.info_flags & ACPI_METHOD_SERIALIZED) {
> 			info->serial_method_count++;
> 			break;
> 		}
> 
> 		if (acpi_gbl_auto_serialize_methods) {
> 
> 			/* Parse/scan method and serialize it if necessary */
> 
> 			acpi_ds_auto_serialize_method(node, obj_desc);
> 			if (obj_desc->method.
> 			    info_flags & ACPI_METHOD_SERIALIZED) {
> 
> 				/* Method was just converted to Serialized */
> 
> 				info->serial_method_count++;
> 				info->serialized_method_count++;
> 				break;
> 			}
> 		}
> Which is invoked by acpi_ds_initialize_objects(), always invoked in
> acpi_ns_load_table().
> Unless acpi_gbl_auto_serialize_methods = false or acpi_ns_parse_table()
> failed, the flag won't be remained unset.
> 
> The error message is generated by old auto-serialize implementation.
> And acpi_gbl_auto_serialize_methods is meant to mute the warnings.
> 
> Both mechanism should work, thus this error message is not fatal.
> It just makes ACPICA to fall back to use old auto-serial method.
> So the issue is not urgent.
> 
> 2. Why the error message is caused
> I couldn't see whether the bisected commit can be related to this
> feature.
> It seems we need your help to debug what the problem is.
> 
> First, please try the mentioned branch here:
> https://github.com/zetalog/linux
> acpica-lock branch.
> 
> As I may need to ask for several debugging steps, let me file a kernel
> Bugzilla bug for this.
> So that we can communicate there in order not to bother others:
> 
> https://bugzilla.kernel.org/show_bug.cgi?id=180111
> 
> Thanks and best regards
> Lv
> 
> 
> >
> > I attached the acpidump output.
> >
> > > Please give the fix a try (see attachment).
> >
> > The patch didn't apply on 4.9-rc1 or Linus' master, please see the
> > attached patch for my attempt to resolve the conflicts. With the patch
> > applied I could still trigger the same problem during suspend.
> >
> > --Imre
> >
> > > I'm sorry for sending fix patch using attachment.
> > > It's not convenient for me due to my current working environment.
> > >
> > > Thanks and best regards
> > > Lv

WARNING: multiple messages have this Message-ID (diff)
From: Moore, Robert <robert.moore at intel.com>
To: devel@acpica.org
Subject: Re: [Devel] 4.9-rc1: [TMP_] ACPI namespace lookup failure, AE_ALREADY_EXISTS
Date: Thu, 27 Oct 2016 15:31:47 +0000	[thread overview]
Message-ID: <94F2FBAB4432B54E8AACC7DFDE6C92E37E51855E@ORSMSX110.amr.corp.intel.com> (raw)
In-Reply-To: 1AE640813FDE7649BE1B193DEA596E886A2579A5@SHSMSX101.ccr.corp.intel.com

[-- Attachment #1: Type: text/plain, Size: 4356 bytes --]



> -----Original Message-----
> From: Zheng, Lv
> Sent: Monday, October 24, 2016 12:36 AM
> To: Deak, Imre <imre.deak(a)intel.com>; Moore, Robert
> <robert.moore(a)intel.com>; Wysocki, Rafael J
> <rafael.j.wysocki(a)intel.com>; linux-acpi(a)vger.kernel.org;
> devel(a)acpica.org
> Subject: RE: 4.9-rc1: [TMP_] ACPI namespace lookup failure,
> AE_ALREADY_EXISTS
> 
> Hi, Imre
> 
> > From: Deak, Imre
> > Subject: Re: 4.9-rc1: [TMP_] ACPI namespace lookup failure,
> > AE_ALREADY_EXISTS
> >
> > On Fri, 2016-10-21 at 22:46 +0300, Zheng, Lv wrote:
> > > [...]
> > > I checked the code, only found one issue.
> > > And I'm not sure if it is related.
> > > Please send me the full dmesg containing the errors and the acpidump
> > >output.
> >
> > I attached the dmesg containing the error during boot (happened 1 out
> > of 200 boots), during reboot (20 out of 200 reboots), during suspend
> > (happened all the time).
> 
> I just checked the error and the related code.
> 
> 1. What the error is
> The error message is generated by an old method auto-serial mechanism.
> However this mechanism should have been disabled by new auto-serial
> approach.
[Moore, Robert] 


We kept the original auto-serialize mechanism because the new one is not 100% deterministic. Thus, the original mechanism is a fallback case, that is why it is still there. It should not be removed.





> 
> See: the error is generated by the code in
> drivers/acpi/acpica/psparse.c:
> 			if ((status == AE_ALREADY_EXISTS) &&
> 			    (!(walk_state->method_desc->method.
> 			       info_flags & ACPI_METHOD_SERIALIZED))) {
> 				/*
> 				 * Method is not serialized and tried to create an
> object
> 				 * twice. The probable cause is that the method
> cannot
> 				 * handle reentrancy. Mark as "pending serialized"
> now, and
> 				 * then mark "serialized" when the last thread
> exits.
> 				 */
> 				walk_state->method_desc->method.info_flags |=
> 				    ACPI_METHOD_SERIALIZED_PENDING;
> 			}
> It can only happen when ACPI_METHOD_SERIALIZED flag is not set.
> However, in the upstream kernel, this flag is set by the code in
> drivers/acpi/acpica/dsinit.c:
> 		if (obj_desc->method.info_flags & ACPI_METHOD_SERIALIZED) {
> 			info->serial_method_count++;
> 			break;
> 		}
> 
> 		if (acpi_gbl_auto_serialize_methods) {
> 
> 			/* Parse/scan method and serialize it if necessary */
> 
> 			acpi_ds_auto_serialize_method(node, obj_desc);
> 			if (obj_desc->method.
> 			    info_flags & ACPI_METHOD_SERIALIZED) {
> 
> 				/* Method was just converted to Serialized */
> 
> 				info->serial_method_count++;
> 				info->serialized_method_count++;
> 				break;
> 			}
> 		}
> Which is invoked by acpi_ds_initialize_objects(), always invoked in
> acpi_ns_load_table().
> Unless acpi_gbl_auto_serialize_methods = false or acpi_ns_parse_table()
> failed, the flag won't be remained unset.
> 
> The error message is generated by old auto-serialize implementation.
> And acpi_gbl_auto_serialize_methods is meant to mute the warnings.
> 
> Both mechanism should work, thus this error message is not fatal.
> It just makes ACPICA to fall back to use old auto-serial method.
> So the issue is not urgent.
> 
> 2. Why the error message is caused
> I couldn't see whether the bisected commit can be related to this
> feature.
> It seems we need your help to debug what the problem is.
> 
> First, please try the mentioned branch here:
> https://github.com/zetalog/linux
> acpica-lock branch.
> 
> As I may need to ask for several debugging steps, let me file a kernel
> Bugzilla bug for this.
> So that we can communicate there in order not to bother others:
> 
> https://bugzilla.kernel.org/show_bug.cgi?id=180111
> 
> Thanks and best regards
> Lv
> 
> 
> >
> > I attached the acpidump output.
> >
> > > Please give the fix a try (see attachment).
> >
> > The patch didn't apply on 4.9-rc1 or Linus' master, please see the
> > attached patch for my attempt to resolve the conflicts. With the patch
> > applied I could still trigger the same problem during suspend.
> >
> > --Imre
> >
> > > I'm sorry for sending fix patch using attachment.
> > > It's not convenient for me due to my current working environment.
> > >
> > > Thanks and best regards
> > > Lv

  reply	other threads:[~2016-10-27 15:31 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-19 21:36 4.9-rc1: [TMP_] ACPI namespace lookup failure, AE_ALREADY_EXISTS Imre Deak
2016-10-20 16:45 ` Zheng, Lv
2016-10-20 16:45   ` [Devel] " Zheng, Lv
2016-10-20 18:44 ` Zheng, Lv
2016-10-20 18:44   ` [Devel] " Zheng, Lv
2016-10-20 21:16   ` Rafael J. Wysocki
2016-10-20 23:05     ` Zheng, Lv
2016-10-20 23:05       ` [Devel] " Zheng, Lv
2016-10-21 19:46 ` Zheng, Lv
2016-10-21 19:46   ` [Devel] " Zheng, Lv
     [not found]   ` <1477216090.7258.9.camel@intel.com>
2016-10-24  6:10     ` Zheng, Lv
2016-10-24  6:10       ` [Devel] " Zheng, Lv
2016-10-24  7:35     ` Zheng, Lv
2016-10-24  7:35       ` [Devel] " Zheng, Lv
2016-10-27 15:31       ` Moore, Robert [this message]
2016-10-27 15:31         ` Moore, Robert
2016-10-25  1:14     ` Zheng, Lv
2016-10-25  1:14       ` [Devel] " Zheng, Lv
2016-10-25 12:48       ` Imre Deak
2016-10-25 14:26         ` Zheng, Lv
2016-10-25 14:26           ` [Devel] " Zheng, Lv

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=94F2FBAB4432B54E8AACC7DFDE6C92E37E51855E@ORSMSX110.amr.corp.intel.com \
    --to=robert.moore@intel.com \
    --cc=david.e.box@intel.com \
    --cc=devel@acpica.org \
    --cc=imre.deak@intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=lv.zheng@intel.com \
    --cc=rafael.j.wysocki@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.