[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a299118d-eeec-40b4-9a3d-48dc40f34e12@gmail.com>
Date: Fri, 23 Feb 2024 10:20:32 -0800
From: Florian Fainelli <f.fainelli@...il.com>
To: Guan-Yu Lin <guanyulin@...gle.com>, rafael@...nel.org, pavel@....cz,
len.brown@...el.com, gregkh@...uxfoundation.org,
andriy.shevchenko@...ux.intel.com, petr.tesarik.ext@...wei.com,
rdunlap@...radead.org, james@...iv.tech, broonie@...nel.org,
james.clark@....com, masahiroy@...nel.org
Cc: linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org
Subject: Re: [PATCH v3] PM / core: conditionally skip system pm in
device/driver model
On 2/23/24 06:38, Guan-Yu Lin wrote:
> In systems with a main processor and a co-processor, asynchronous
> controller management can lead to conflicts. One example is the main
> processor attempting to suspend a device while the co-processor is
> actively using it. To address this, we introduce a new sysfs entry
> called "conditional_skip". This entry allows the system to selectively
> skip certain device power management state transitions. To use this
> feature, set the value in "conditional_skip" to indicate the type of
> state transition you want to avoid. Please review /Documentation/ABI/
> testing/sysfs-devices-power for more detailed information.
This looks like a poor way of dealing with a lack of adequate resource
tracking from Linux on behalf of the co-processor(s) and I really do not
understand how someone is supposed to use that in a way that works.
Cannot you use a HW maintained spinlock between your host processor and
the co-processor such that they can each claim exclusive access to the
hardware and you can busy-wait until one or the other is done using the
device? How is your partitioning between host processor owned blocks and
co-processor(s) owned blocks? Is it static or is it dynamic?
--
Florian
Powered by blists - more mailing lists