Latency regression with real time kernel and dynamic ticks feature

Bug #229499 reported by Alessio Igor Bogani
20
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Medium
Tim Gardner
Hardy
Fix Released
Undecided
Unassigned
Intrepid
Invalid
Medium
Tim Gardner
linux-meta-rt (Ubuntu)
Invalid
Medium
Alessio Igor Bogani
Hardy
Invalid
Undecided
Unassigned
Intrepid
Invalid
Medium
Alessio Igor Bogani
linux-rt (Ubuntu)
Fix Released
Undecided
Alessio Igor Bogani
Hardy
Invalid
Undecided
Unassigned
Intrepid
Fix Released
Undecided
Alessio Igor Bogani

Bug Description

Recently i have worked on just upgraded Hardy systems.I have noticed that there is a don't clearly visible regression about rt kernel flavour. It seems that on 2.6.24 the Dynamic Ticks features is incompatible with CONFIR_PREEMPT_RT. This cause huge latency and it is a regression respect Gutsy!

Revision history for this message
Alessio Igor Bogani (abogani) wrote :

SRU Justification:

Impact: That bug affect all rt kernel flavour users. From a realtime point of view this is a severe regression.

Fix Description: To prevent this latency we need to disable Dynamic Ticks.

Patch is very simple and safe (one line in rt kernel configuration):
http://kernel.ubuntu.com/git?p=abogani/ubuntu-hardy-rt.git;a=commit;h=f80aed2d95a5be145a31b80d30fad86672b16e8c

Drawback: A bit more power consumption.

TEST CASE: I was able to put problem clearly visible using cyclictest, a realtime kernel test utility, on a couple of systems.
[Dynamic Ticks on]
abogani@picasso:~/WIP/rt-tests$ sudo ./cyclictest -t1 -n -p99 -q -l200000
T: 0 ( 7140) P:99 I:1000 C: 200000 Min: 4 Act: 40 Avg: 65 Max: 12047

[Dynamic Ticks off]
abogani@picasso:~/WIP/rt-tests$ sudo ./cyclictest -t1 -n -p99 -q -l200000
T: 0 ( 6481) P:99 I:1000 C: 200000 Min: 2 Act: 6 Avg: 6 Max: 321

Changed in linux:
assignee: nobody → abogani
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
Martin Pitt (pitti) wrote :

Accepted into -proposed, please test and give feedback here

Changed in linux:
status: New → Fix Committed
Revision history for this message
Martin Pitt (pitti) wrote :

Copied to hardy-updates. The new kernel was tested extensively by many people, who reported back in other bug reports. Due to lack of feedback, this particular bug was not confirmed to be tested, though. Please report back here if the bug still occurs for you with the new kernel packages, then we will reopen this bug.

Changed in linux:
status: Fix Committed → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote :

Tim, please apply patch to intrepid as well.

Changed in linux:
assignee: abogani → timg-tpi
status: Confirmed → Fix Committed
Revision history for this message
Isaac Dupree (idupree) wrote :

Did it really need to be disabled in linux-generic as well, not just in linux-rt? (Or is the changelog in update-manager just lying to me and it didn't actually change in linux-2.6.24-19-generic??) (I'm on Hardy x86)

Revision history for this message
Alessio Igor Bogani (abogani) wrote :

@Isaac

On my system CONFIG_NO_HZ is disabled only on linux-rt:

abogani@pcalex:~$ grep NO_HZ /boot/config-2.6.24-19*
/boot/config-2.6.24-19-generic:CONFIG_NO_HZ=y
/boot/config-2.6.24-19-rt:# CONFIG_NO_HZ is not set

Exactly as should be.

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

It's my understanding that the -rt kernel for Intrepid is now handled by the linux-meta-rt package maintained by Alessio. I'm adding a linux-meta-rt task and marking the linux Intrepid nomination as Invalid. However CONFIG_NO_HZ still looks to be enabled for the Intrepid -rt kernel:

ogasawara@emiko:~$ grep "CONFIG_NO_HZ" /boot/config-2.6.26-1-rt
CONFIG_NO_HZ=y

Changed in linux:
status: Fix Committed → Invalid
Changed in linux-meta-rt:
status: New → Invalid
assignee: nobody → abogani
importance: Undecided → Medium
status: New → Triaged
Revision history for this message
Alessio Igor Bogani (abogani) wrote :

Bug moved to linux-rt

Changed in linux-rt:
status: New → Invalid
assignee: nobody → abogani
status: New → Triaged
Changed in linux-meta-rt:
status: Triaged → Invalid
Revision history for this message
Alessio Igor Bogani (abogani) wrote :

In Intrepid rt kernel Dynamic Ticks support is still present (as you can seen from kernel config file) but I have added a little patch that it turned off by default (in generic it is on by default instead). Dynamic ticks is a very useful feature for whom work with laptop and accept a general increased latency. For that reason i didn't drop it out.

Changed in linux-rt:
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.