On Tue, 10 Sep 2019 22:17:04 -0700 Marc MERLIN <marc_...@merlins.org> said:
> On Mon, Sep 09, 2019 at 09:26:56AM +0100, Carsten Haitzler wrote: > > On Sun, 8 Sep 2019 17:53:02 -0700 Marc MERLIN <marc_...@merlins.org> said: > > > > depends what you have visible. if you have cpufreq - reduce its poll > > interval (make it slower). my close shows just minutes, not seconds, i > > disable > > I do not, but thanks for asking. > > > terminology's blinking cursor too as this actually is pumping out on average > > 30fps (60fps for 0.5 sec, then stop, then another 60fps for 0.5 sec etc. as > > it fades in and out). if it's blinking, pulsing, moving all the time - it'll > > consume power. my xps13 with internal screen only, backlight dimmed to 30%, > > wifi on, bt on, no peripherals plugged in: > > I don't have terminology. and I'm looking on my screen, I don't see > anything blinking or moving, so it's hard to say. > > I still have > 3.43 W 49.2 ms/s 236.6 Process /usr/bin/enlightenment > > I have no idea how you get yours to 13 wakeups per second. > > 7.9 ms/s 13.7 Process [PID > > 857] /usr/local/bin/enlightenment > > > > I can't say what the wattage of e is but total system usage is 2.75w and > > that's like almost 1/4 of yours. I can drop system power usage to 2.4w if i > > go to 0% backlight. 100% backlight jumps up to 4w. > > I have a thinkpad P70, it's a big laptop with a 17" 4K screen, so it's > expected to use batteries, but I have a 99Wh battery. > > > Maybe double-check battery gagdet settings to see how often it checks > > battery (Mine's at 256 ticks)? You're getting a lot of wakeups > > there... (295.9) ... is something rendering all the time? it could be > > some app on your screen doing this... > > Oh, you're saying an app rendering will be counted against > enlightenment? > If so, it's going to make my life harder in pinning it down. absolutely. e is a compositor. Anything updating on screen - including apps will also cause enlightenment to have to deal with it as it then has to take the apps rendering results and present it to the screen which requires e to wake up several times to deal with it. it will wake up several times probably because: 1. it sleeps waiting for either timeouts or input. 2. it'll be woken up by incoming event(s) such as damage region events from x for some window 3. it will then queue up a a deferred render for next vsync 3.1 if vsync thread is not already in a "queue up next vsync event from drm device" mode, main thread will send vsync thread a message (wake up vsync thread) 3.2 vsync thread wakes and tells drm device to "send me an event next vsync" then goes back to sleep waiting for the vsync events 4. when vsync event arrives from drm device in vsync thread, wake up, get timestamp and now send information back to main loop. 5. main loop wakeup and evaluate state of the world, calculate what needs updating (if anything) so as long as something is visible that needs an update do rendering... 6. rendering itself, depending on gpu, driver etc. may involve sleep and wakeups as e goes into blocking syscalls that may wait on queues/buffers to empty - given luck and so on no excessive wakeups and sleeps beyond what is needed. in the end though e will now head back to sleep so we're back to number 1. you'll know its probably either input events from x (like mouse or touchpad jitter) or an app rendering if you see wakeups in the xserver as well. e will have more wakeups than the xserver because per frame it will actually probably wake and go to sleep at least 2 times (not once) possibly more depending on state of things. so it goes in and out of sleep more, but may run for less time as it splits up the work. if an app is rendering 200fps... this helps because e will throttle itself to 60fps (or whatever your screen refresh rate is). with multiple apps rendering multiple things at the same time this allows it to collect updates from several windows within the space of 1 frame and defer until next vsync. so wakeup count in general will be higher because of this, but with given upsides. > Sounds like there is nothing obvious you can point me to, given that it > could not even be E's fault but another app that causes E wakeups. looks at wakeups on the xserver or other processes that display. you have a lot of wakeups in kbfsfuse and wicd for sure there too. i do not use wicd - i use connman and have never seen it even listed with having wakeups at all when i have an idle laptop that isn't trying to connect to some network (is connected already to wifi or wired network). my advice - process of elimination. disable modules in e to see if any of them somehow is causing polling. run zero apps on screen (ssh in and run powertop remotely and do nothing else with that ssh session other than this). kill off processes that have wakeups -> wicd smells bad to me there as i do not see why it should have any wakeups at all most of the time - maybe a few per second to poll current signal level? certainly not 90+. enlightenment could be bad but it can and is driven by inputs a lot (like rendering from apps), thus an animating blinking cursor in terminology will cause wakeups in e too. perhaps look at settings -> mouse -> cursor -> E Theme and disable idle effects because if the cursor is idle and not moving for a while e will tell it it is idle and the theme may then pulse the mouse every now and again (depends on theme as to what it wants to do). disable that. wouldn't normally matter unless you are doing this kind of powertop thing when the mouse may idle for long periods... Usage Events/s Category Description 100.0% Device Radio device: btusb 100.0% Device USB device: usb-device-0cf3-e300 30.0% Device Display backlight 7.7 ms/s 13.8 Process [PID 840] /usr/local/bin/enlightenment 2.0 ms/s 4.5 Process [PID 655] /usr/lib/Xorg -nolisten tcp vt07 -auth /var/run/slim.auth 0.8 ms/s 11.3 Interrupt [3] net_rx(softirq) 0.7 ms/s 0.00 Process [PID 80] [kworker/u16:1] 488.2 µs/s 2.3 Process [PID 902] /usr/local/bin/enlightenment 383.2 µs/s 4.2 Process [PID 1007] powertop 367.6 µs/s 20.9 Timer tick_sched_timer 342.3 µs/s 0.05 Interrupt [140] ath10k_pci 310.3 µs/s 1.5 Interrupt [135] i915 285.4 µs/s 0.7 Interrupt [7] sched(softirq) 183.5 µs/s 0.00 Interrupt [1] timer(softirq) 168.3 µs/s 0.00 Process [PID 970] [kworker/u16:2] 125.3 µs/s 7.9 kWork ieee80211_iface_work 115.9 µs/s 6.3 Process [PID 10] [rcu_preempt] 104.3 µs/s 0.00 Timer hrtimer_wakeup 101.7 µs/s 0.00 Timer process_timeout 98.6 µs/s 0.00 Timer delayed_work_timer_fn 78.5 µs/s 0.00 Process [PID 29] [kworker/2:0] 59.9 µs/s 0.00 Interrupt [9] RCU(softirq) 58.7 µs/s 0.25 kWork __i915_globals_park 58.3 µs/s 3.8 kWork intel_atomic_cleanup_work 47.0 µs/s 4.0 Interrupt [0] HI_SOFTIRQ 46.5 µs/s 0.00 Timer ath10k_pci_ps_timer 35.2 µs/s 0.00 Process [PID 278] [kworker/4:2] 34.3 µs/s 0.00 Process [PID 272] [kworker/6:1H] 33.7 µs/s 3.9 kWork psi_avgs_work 29.0 µs/s 0.00 Timer clocksource_watchdog 24.3 µs/s 2.0 Timer watchdog_timer_fn 22.9 µs/s 0.00 kWork vmstat_update 21.5 µs/s 0.05 Process [PID 552] [kworker/7:2] 20.1 µs/s 0.25 Process [PID 55] [rcuc/6] 19.2 µs/s 0.00 Process [PID 86] [kworker/1:1] 17.9 µs/s 0.10 Process [PID 41] [rcuc/4] 15.5 µs/s 0.00 Process [PID 71] [kworker/6:1] 15.2 µs/s 0.25 Process [PID 27] [rcuc/2] 14.7 µs/s 0.15 Process [PID 677] /usr/bin/wpa_supplicant -u 14.4 µs/s 0.10 Process [PID 48] [rcuc/5] 14.2 µs/s 0.00 Process [PID 56] [ksoftirqd/6] 11.8 µs/s 3.8 kWork intel_atomic_helper_free_state_ That's my extended list of wakeups when totally idle. with a terminal and a blinking cursor (that's going to produce 30 fps): Usage Events/s Category Description 100.0% Device Radio device: btusb 70.7 ms/s 379.7 Process [PID 840] /usr/local/bin/enlightenment 43.8 ms/s 185.3 Process [PID 1083] terminology 42.3 ms/s 18.9 Process [PID 655] /usr/lib/Xorg -nolisten tcp vt07 -auth /var/run/slim.auth 100.0% Device USB device: usb-device-0cf3-e300 65.0% Device Display backlight 9.2 ms/s 20.4 Process [PID 1164] systemd-udevd 7.3 ms/s 0.00 Process [PID 608] /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only 4.3 ms/s 195.2 Timer tick_sched_timer 4.2 ms/s 5.7 Process [PID 1] /sbin/init nopti nopti 3.7 ms/s 0.00 Process [PID 1161] [kworker/u16:3] 3.2 ms/s 9.6 Process [PID 312] /usr/lib/systemd/systemd-udevd 3.1 ms/s 16.9 Interrupt [7] sched(softirq) 3.1 ms/s 18.5 Interrupt [135] i915 2.7 ms/s 25.3 Process [PID 610] /usr/lib/systemd/systemd-logind 1.9 ms/s 0.00 Process [PID 829] /usr/lib/systemd/systemd --user 1.3 ms/s 0.05 Interrupt [1] timer(softirq) 1.1 ms/s 0.00 Process [PID 1082] [kworker/u16:0] 1.1 ms/s 58.0 Process [PID 10] [rcu_preempt] 1.1 ms/s 3.9 Interrupt [9] RCU(softirq) 0.8 ms/s 0.00 Timer process_timeout 0.8 ms/s 7.1 Interrupt [3] net_rx(softirq) 626.8 µs/s 0.8 Timer hrtimer_wakeup 518.0 µs/s 30.4 kWork intel_atomic_cleanup_work 474.4 µs/s 99.9 Interrupt [0] HI_SOFTIRQ 420.6 µs/s 3.8 Process [PID 1007] powertop 386.6 µs/s 0.00 Interrupt [140] ath10k_pci 346.1 µs/s 1.4 Process [PID 48] [rcuc/5] 278.7 µs/s 1.6 Process [PID 27] [rcuc/2] 258.2 µs/s 0.00 Process [PID 49] [ksoftirqd/5] 229.2 µs/s 1.6 Process [PID 11] [rcuc/0] 218.1 µs/s 0.00 Timer delayed_work_timer_fn 202.3 µs/s 1.5 Process [PID 20] [rcuc/1] 187.9 µs/s 0.4 Process [PID 9] [ksoftirqd/0] 171.1 µs/s 1.4 Process [PID 55] [rcuc/6] 164.5 µs/s 1.5 Process [PID 62] [rcuc/7] 152.6 µs/s 0.25 Process [PID 21] [ksoftirqd/1] 136.2 µs/s 0.00 Process [PID 63] [ksoftirqd/7] 136.0 µs/s 0.00 Process [PID 56] [ksoftirqd/6] 134.3 µs/s 0.00 Process [PID 71] [kworker/6:1] 127.0 µs/s 0.5 Process [PID 28] [ksoftirqd/2] 124.6 µs/s 7.1 kWork ieee80211_iface_work 123.2 µs/s 0.00 Process [PID 634] [kworker/4:1H] 121.6 µs/s 0.5 Process [PID 34] [rcuc/3] 120.0 µs/s 0.00 Process [PID 272] [kworker/6:1H] 118.4 µs/s 0.00 Process [PID 390] [kworker/5:2] 106.1 µs/s 0.00 Process [PID 15] [kworker/0:1] 105.9 µs/s 0.4 Process [PID 609] /usr/bin/connmand -n 100.1 µs/s 0.05 Process [PID 35] [ksoftirqd/3] 98.3 µs/s 0.00 Process [PID 86] [kworker/1:1] 97.9 µs/s 0.4 kWork i915_hangcheck_elapsed 93.9 µs/s 0.00 Process [PID 552] [kworker/7:2] 89.8 µs/s 30.4 kWork intel_atomic_helper_free_state_ 86.2 µs/s 0.8 Process [PID 41] [rcuc/4] 74.5 µs/s 0.00 Process [PID 318] [kworker/2:1H] 72.7 µs/s 0.00 Process [PID 42] [ksoftirqd/4] 68.6 µs/s 0.00 Process [PID 278] [kworker/4:2] 62.4 µs/s 0.00 kWork vmstat_update 60.1 µs/s 3.7 kWork gc_worker > I'll keep looking, but it sounds like it won't be easy. > > Thanks for the answer, > Marc > -- > "A mouse is a device used to point at the xterm you want to type in" - A.S.R. > Microsoft is to operating systems .... > .... what McDonalds is to gourmet > cooking Home page: http://marc.merlins.org/ | PGP > 7F55D5F27AAF9D08 > > > _______________________________________________ > enlightenment-users mailing list > enlightenment-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-users > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- Carsten Haitzler - ras...@rasterman.com _______________________________________________ enlightenment-users mailing list enlightenment-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-users