All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Raphaël Gallais-Pou" <rgallaispou@gmail.com>
To: Damien Le Moal <dlemoal@kernel.org>, Niklas Cassel <cassel@kernel.org>
Cc: Patrice Chotard <patrice.chotard@foss.st.com>,
	linux-arm-kernel@lists.infradead.org, linux-ide@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] ahci: st: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr()
Date: Mon, 13 Jan 2025 21:28:28 +0100	[thread overview]
Message-ID: <261f9fac-82de-4f39-bf5c-cdfcee917588@gmail.com> (raw)
In-Reply-To: <cfecaa65-f6bc-48c1-9295-9bfe18f13db3@kernel.org>



Le 10/01/2025 à 13:02, Damien Le Moal a écrit :
> On 1/10/25 20:23, Niklas Cassel wrote:
>>>> -#ifdef CONFIG_PM_SLEEP
>>>>   static int st_ahci_suspend(struct device *dev)
>>>>   {
>>>>   	struct ata_host *host = dev_get_drvdata(dev);
>>>> @@ -221,9 +220,8 @@ static int st_ahci_resume(struct device *dev)
>>>>   
>>>>   	return ahci_platform_resume_host(dev);
>>>>   }
>>>> -#endif
>>>
>>> I do not think you can remove the ifdef here. Otherwise, there is going to be a
>>> compilation warning when CONFIG_PM_SLEEP is not enabled. No ?
>>
>> Look at the pm_sleep_ptr macro:
>> include/linux/pm.h:#define pm_sleep_ptr(_ptr) PTR_IF(IS_ENABLED(CONFIG_PM_SLEEP), (_ptr))
>>
>> I would expect the function should be optimized out by the compiler
>> using dead code elimination.
> 
> Indeed. Just tried and no warning. I was expecting a "defined but not used"
> warning, but none showed up. So all good.
> 
>> Raphael, perhaps you could show the before and after output
>> using ./scripts/bloat-o-meter ?
>> (When the config is not enabled: before and after your patch.)
Hi,

I have not used the bloat-o-meter until now, thanks ! :)
Here are my results:


   * with the configuration

$ ./scripts/bloat-o-meter ahci_st_no_patch_pm.o ahci_st_patch_pm.o
add/remove: 1/1 grow/shrink: 0/0 up/down: 4/-4 (0)
Function                                     old     new   delta
__initcall__kmod_ahci_st__384_241_st_ahci_driver_init6       -       4 
    +4
__initcall__kmod_ahci_st__384_243_st_ahci_driver_init6       4       - 
    -4
Total: Before=2200, After=2200, chg +0.00%


   * without the configuration

$ ./scripts/bloat-o-meter ahci_st_no_patch_no_pm.o ahci_st_patch_no_pm.o
add/remove: 1/2 grow/shrink: 0/0 up/down: 4/-96 (-92)
Function                                     old     new   delta
__initcall__kmod_ahci_st__383_241_st_ahci_driver_init6       -       4 
    +4
__initcall__kmod_ahci_st__383_243_st_ahci_driver_init6       4       - 
    -4
st_ahci_pm_ops                                92       -     -92
Total: Before=1904, After=1812, chg -4.83%


Looks like the patch shrinks a bit more the driver. I also tested, so we 
should be fine I think.
> 
> No need to do that I guess. But there are 17 other ata driver that set .pm
> operations. What about these ? Don't they need the same treatment as ahci_st ?
> 15 of these also use SIMPLE_DEV_PM_OPS() which can be replaced with
> DEFINE_SIMPLE_DEV_PM_OPS() also, no ?
> 
> Do you want us to do that cleanup ? (fine with me).

Regarding the other ata drivers, if you have the patience I can do this 
in a few weeks.  There is other things on the stove I would like to do.

Regards,
Raphaël
> 



  reply	other threads:[~2025-01-13 20:30 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-09 17:54 [PATCH v2] ahci: st: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr() Raphael Gallais-Pou
2025-01-10  5:19 ` Damien Le Moal
2025-01-10 11:23   ` Niklas Cassel
2025-01-10 12:02     ` Damien Le Moal
2025-01-13 20:28       ` Raphaël Gallais-Pou [this message]
2025-01-14  0:59         ` Damien Le Moal
2025-01-15  8:28           ` Raphaël Gallais-Pou
2025-01-15 10:44             ` Niklas Cassel
2025-01-10 11:20 ` Niklas Cassel
2025-01-15 14:23 ` Niklas Cassel

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=261f9fac-82de-4f39-bf5c-cdfcee917588@gmail.com \
    --to=rgallaispou@gmail.com \
    --cc=cassel@kernel.org \
    --cc=dlemoal@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=patrice.chotard@foss.st.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.