[Letux-kernel] suspend issues letux-4.15-rc8

Andreas Kemnade andreas at kemnade.info
Sun Jan 28 20:26:20 CET 2018


On Sun, 28 Jan 2018 18:56:17 +0100
"H. Nikolaus Schaller" <hns at goldelico.com> wrote:

> Hi,
> 
> > Am 28.01.2018 um 11:20 schrieb Andreas Kemnade <andreas at kemnade.info>:
> > 
> > Hi,
> > 
> > I have run my suspend test script, and it shows trouble:
> > 
> > no modules: cur: 60868 delta: 60868
> > +w2sg0004 cur: 60868 delta: 0
> >   
> > -> 60mA idle -> ok  
> > 
> > before: 830192
> > after: 827878
> > average 27860 uA over 299 seconds
> >   
> > -> 27mA suspend -> nearly ok,  
> 
> Much better!
> 
60mA was idle current (cpu doing nothing, but not in suspend)
I am looking at both since I expect every hardware to go into low power
mode when it is not used.

[...]
> > 
> > Module                  Size  Used by
> > usb_f_ecm              16384  1 
> > g_ether                16384  0 
> > usb_f_rndis            20480  2 g_ether
> > u_ether                20480  3 usb_f_ecm,g_ether,usb_f_rndis
> > libcomposite           36864  3 usb_f_ecm,g_ether,usb_f_rndis
> > configfs               32768  4 usb_f_ecm,usb_f_rndis,libcomposite
> > omap2430               16384  0 
> > phy_twl4030_usb        20480  2 
> > musb_hdrc             106496  2 omap2430,phy_twl4030_usb
> > twl4030_charger        20480  0 
> > industrialio           53248  1 twl4030_charger
> > w2sg0004               16384  0 
> > twl4030_pwrbutton      16384  0 
> > bq27xxx_battery_hdq    16384  0 
> > bq27xxx_battery        20480  1 bq27xxx_battery_hdq
> > omap_hdq               16384  0 
> > +musb,g_ether cur: 90142 delta: 29274
> >   
> > -> too high (pm_runtime_suspend of phy/musb is not doing its job/reference counter  
> >   unbalanced, ...)
> >   was also better at some time with 4.x  
> 
> IMHO, we have the phy/musb suspend issue for a very long time and
> I am not sure if any kernel beyond 3.7 was ever better with this...
> 
I have seen 60mA idle and 22mA suspend with phy/musb loaded  with the
gta04a5 using exactly the same script. I looked through my archives.
I think it was with 4.10 but I have to check.

> > 
> > before: 825208
> > after: 820758
> > average 53578 uA over 299 seconds
> >   
> > -> too high (pm_runtime_suspend of phy/musb is not doing its job...)  
> >   was also better at some time with 4.x)
> > 
> > +ifup cur: 90321 delta: 179
> >   
> > -> also  too high.  
> 
> Indeed.
> 
expected would be 60mA idle and 22mA suspend again.

> > 
> > Conclusion: run this script more often
> > to find issues earlier. I hope that can be automated. I almost have all
> > ingredients for automating that.  
> 
> Oh, yes, that would be really helpful. Without such automation it is very
> difficult to get reliable measurements which can be compared.
> 
That script is started using the kernel parameter init=
so it runs before udev. It is just a bit nasty to start. But I think I
will move it to initramfs.

I just need a better pseudo battery with a mosfet (my first one with
stainless steel hex screws has a terrible high resistance, but
was useful for measuring power consumption of 2.6.32 kernel). I have
modified a usb hub so that I can power on and off ports via software
and measure current consumption of them. One gpio is leading out, so
that could be connected to such a mosfet. So even nightly bisects
should be possible (if the things to test are testable in mainline), or
I could give it a batch of suspicious commits in the evening.

Regards,
Andreas


More information about the Letux-kernel mailing list