Bug 305941 - Wake-ups issue
Wake-ups issue
Product: Fedora
Classification: Fedora
Component: transmission (Show other bugs)
All Linux
low Severity high
: ---
: ---
Assigned To: Denis Leroy
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2007-09-25 15:09 EDT by Mathieu Bridon
Modified: 2008-05-14 11:50 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-05-14 11:50:19 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Mathieu Bridon 2007-09-25 15:09:53 EDT
Description of problem:
Powertop shows that Transmission (GTK bittorrent client) does 100 wake-ups /
second when downloading and 50 when idle.

Worse, it seems like it has 2 timers (below is idle) :
  13,9% ( 49,9)   transmission-gt : do_nanosleep (hrtimer_wakeup) 
   0,3% (  1,1)   transmission-gt : schedule_timeout (process_timeout)

Version-Release number of selected component (if applicable):
# rpm -q transmission

How reproducible:

Steps to Reproduce:
Just open a torrent file and start downloading.
Actual results:
A very high number of wake-ups

Expected results:
Transmission should be downloading without such timers.

Additional info:
Want anything else ? Just ask.

Sorry, I have no patch for this and I don't even know where the problem is
located in the source code. However, given that one of Fedora 8 features is to
fix wake-ups across the distros, here is one :)
Comment 1 bochecha 2007-12-04 16:08:10 EST
Better, but not fixed with version 0.82 in F8:

When idle :
# powertop
  32,6% ( 49,9)   transmission-gt : do_nanosleep (hrtimer_wakeup) 
   1,8% (  4,4)       <interrupt> : ipw2200, Intel ICH6 Modem, eth0
   0,7% (  1,0)   transmission-gt : schedule_timeout (process_timeout)

When downloading :
# powertop
  72,8% (644,1)       <interrupt> : ipw2200, Intel ICH6 Modem, eth0 
   6,3% ( 56,0)   transmission-gt : do_nanosleep (hrtimer_wakeup) 
   2,6% ( 22,8)   transmission-gt : sk_reset_timer (tcp_write_timer) 
   0,3% (  2,8)   transmission-gt : sk_reset_timer (tcp_delack_timer)

The worst timer is not as huge as with previous version, but still...

Don't know if it is normal or not, but see how drastically the wakeups on eth0
increase !

Anyway, transmission still has big timers.
Comment 2 Denis Leroy 2007-12-04 17:43:55 EST
I just pushed 0.94 to F-8 updates-testing. Can you check to see if it improves
at all ? I'll open a bug upstream after that. thx :-)

Comment 3 bochecha 2007-12-04 18:59:54 EST
Updated to 0.94.

When idle:
  28,4% ( 16,9)      transmission : schedule_timeout (process_timeout) 

When downloading:
  69,0% (418,8)       <interrupt> : ipw2200, Intel ICH6 Modem, eth0 
   6,6% ( 40,3)      transmission : schedule_timeout (process_timeout) 

Much better on idle :)

But didn't improve when downloading... :(

The wakeups on eth0 seem to depend on the download/upload speed, so it can't be
compared with previous value as I don't remember which speed I was downloading
previously. Ayway, it's really high... :S

Thanks for considering this issue.
Comment 4 Bastien Nocera 2007-12-05 22:05:44 EST
There's still a timeout running when nothing might be happening, in main.c:
cbdata->timer = g_timeout_add( UPDATE_INTERVAL, updatemodel, cbdata );

If needed at all (it would be better to have signals telling us the stats
changed), the timeout should only be there when:
- the window is visible (the status icon doesn't show the status of downloads
- there are active torrents in the list

If there aren't any active torrents, and/or the window isn't visible, the
timeout shouldn't be there.

As for the wakeups when downloading, I think that's kind of expected...
Comment 5 bochecha 2008-02-03 11:14:50 EST
I'm currently using Transmission 1.0 that got pushed into updates some time ago.

Here's the trace with powertop when idle:
  14,9% ( 18,3)      transmission : schedule_timeout (process_timeout) 

And when downloading:
  17,4% ( 50,9)      transmission : schedule_timeout (process_timeout) 

Didn't improve much since 0.94.

Did you open the bug upstream ? If that's the case, this one could be closed...
Comment 6 Denis Leroy 2008-05-06 03:46:48 EDT
1.11 still shows about 20 wakeups/sec when idle.


Comment 7 Denis Leroy 2008-05-13 16:14:47 EDT
Fixed in 1.20. Yay!

Expect 1.20 in a testing repo near you soon.
Comment 8 Bug Zapper 2008-05-14 10:30:13 EDT
This message is a reminder that Fedora 7 is nearing the end of life. Approximately 30 (thirty) days from now Fedora will stop maintaining and issuing updates for Fedora 7. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '7'.

Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 7's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 7 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora please change the 'version' of this bug. If you are unable to change the version, please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. If possible, it is recommended that you try the newest available Fedora distribution to see if your bug still exists.

Please read the Release Notes for the newest Fedora distribution to make sure it will meet your needs:

The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Note You need to log in before you can comment on or make changes to this bug.