Bug 486111
Summary: | Transmission causes wakeups by unnecessary polling. | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Quintin Hill <quintinhill> | ||||||
Component: | transmission | Assignee: | Rahul Sundaram <sundaram> | ||||||
Status: | CLOSED CURRENTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
Severity: | medium | Docs Contact: | |||||||
Priority: | low | ||||||||
Version: | 10 | CC: | charles, denis, skr, smohan | ||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | All | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2009-06-13 18:35:35 UTC | Type: | --- | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Bug Depends On: | |||||||||
Bug Blocks: | 204948 | ||||||||
Attachments: |
|
Hm, there are more recent transmission versions. One could test these. I however didn't see any bugfix about this issue in the release notes/closed bugs list.. Created attachment 337764 [details]
Strace output from Transmission 1.51-2
I installed F11 Beta (in a virtual machine) and updated transmission to 1.51-2 (latest Rawhide). Powertop now reports 3-4 wake ups per second:
14.7% ( 3.5) transmission : __mod_timer (process_timeout)
2.1% ( 0.5) transmission : schedule_hrtimeout_range (hrtimer_wakeup)
Rawhide strace attached (strace transmission -m 2> rawhide-strace.out C-c after ~30 seconds).
Upstream ticket: http://trac.transmissionbt.com/ticket/2035 Trunk is down to about 1.5 wakeups per seccond now: % powertop --dump 2>&1 | grep " transmission : " 0.5% ( 0.9) transmission : __mod_timer (process_timeout) 0.3% ( 0.5) transmission : hrtimer_start_range_ns (hrtimer_wakeup) 0.0% ( 0.1) transmission : __mod_timer (death_by_timeout) So about 63% of the wakeups have been fixed. The code is reaching a point of diminishing returns in the tradeoff between code complexity and reducing the number of idle timeouts. This is probably as low as we're going to get unless someone wants to submit a patch that reduces it further in a clean way. Great! is this is 1.53 or 1.61 ? No, this is a new development in trunk. Possibly 1.62. This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component. Charles, Is the latest upstream supposed to fix this issue? Can I close this bug? Rahul: welcome aboard. :) The changes I mentioned above are in the 1.7x series. We're still at ~ 1.5 wakeups per second when no torrents are running. I would vote for closing this bug. Thanks. I have built the very latest version for Fedora 11 and it is at https://admin.fedoraproject.org/updates/transmission-1.71-1.fc11 OP, feel free to test it and if you find the issue persisting, do reopen this bug. I am closing it based on upstream recommendation. Thank you reporting this issue. |
Created attachment 332376 [details] Strace output Description of problem: Transmission causes many unnecessary wakeups when it is idle (~6 per second). Version-Release number of selected component (if applicable): transmission i386 or x86_64 1.42-1.fc10 How reproducible: Always on several computers Steps to Reproduce: strace transmission -m 2> transmission-strace (without any current torrents, also if no torrents currently uploading or downloading) Actual results: Constant polling for read(3, 0x8e56f4, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=13, events=POLLIN}, {fd=6, events=POLLIN}], 4, 0) = 0 (Timeout) read(3, 0x8e56f4, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=13, events=POLLIN}, {fd=6, events=POLLIN}], 4, 1558 The second argument in the read statement differs each time you run transmission but is the same on each poll. Expected results: No activity in transmission, no wake ups when idle. Additional info: Strace output attached.