RE: Large Reference Count warnings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In theory, it should get detached/decremented/etc. when it is deleted at
the end of the method.


> -----Original Message-----
> From: Bjorn Helgaas [mailto:bjorn.helgaas@xxxxxx]
> Sent: Thursday, December 14, 2006 4:01 PM
> To: linux-acpi@xxxxxxxxxxxxxxx
> Cc: Moore, Robert
> Subject: Large Reference Count warnings
> 
> I have the AML below that defines an OpRegion inside the scope of
> a method.  The region gets attached (and its ref count incremented)
> in this path:
> 
>     acpi_ev_attach_region
>     acpi_ev_initialize_region
>     acpi_ds_load2_end_op
>     acpi_ds_exec_end_op
>     acpi_ps_parse_loop
>     acpi_ps_parse_aml
> 
> But I don't see any corresponding place where the ref count gets
> decremented.  That only seems to happen via acpi_ev_install_handler()
> or acpi_remove_address_space_handler(), neither of which is called
> from the interpreter.
> 
> I expected the OpRegion to be detached when exiting the LRRD scope.
> Is that supposed to happen?
> 
> On a large system, we are tripping over warnings like this:
> 
>   ACPI Warning (utdelete-0397): Large Reference Count (801) in object
> e0000a0ff6797ab0 [20060707]
> 
> This method is used to access registers in a PCI host bridge, so
> we do lots of attaches for the LREG region, which eventually bumps
> the ref count above the 0x800 limit.
> 
> FWIW, this didn't seem to happen with older kernels, like RHEL4.
> I don't know whether the difference is in the ACPI CA or in the
> way Linux is using the root bridges.
> 
> 
>             Device (L000)
>             {
>                 ...
>                 Method (LRRD, 6, NotSerialized)
>                 {
>                     Store (Arg0, Local0)
>                     Store (Arg1, Local1)
>                     Add (Local0, Arg2, Local0)
>                     ShiftLeft (Local1, 0x20, Local1)
>                     Or (Local0, Local1, Local0)
>                     OperationRegion (LREG, SystemMemory, Local0, Arg3)
>                     Field (LREG, ByteAcc, NoLock, Preserve)
>                     {
>                         LRDB,   8
>                     }
>                     ...
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux