[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#699112: Regression in timekeeping causes some programs to run slowly



Package: src:linux-2.6
Version: 2.6.32-47
Severity: important
Tags: patch upstream

It was reported on the stable mailing list that one of the timekeeping
fixes in 2.6.32.60 causes some programs to sleep for longer than they
should.

Romain Francoise <romain@orebokech.com> wrote:
[...]
> There are two separate workloads that are affected by this issue:
> - one is a pretty typical whole-distribution build, which gets 1.5x to 2x
>   slower with v2.6.32.60
> - the other is a code simulator, which is basically a bunch of processes
>   communicating together using POSIX message queues (mq_timedsend() and
>   mq_timedreceive()). It runs approximately 10x slower, but doesn't seem
>   to use more CPU, it just sits there doing pretty much nothing.
> 
> I managed to narrow the second workload down to a single test case, which
> runs in approximately 0.7s in v2.6.32.59 and 8s (!) in v2.6.32.60. Having
> a simple test case allowed me to do a full bisection in a test VM, and it
> ends on commit 61b76840ddee647c0c223365378c3f394355b7d7 ("time: Avoid
> making adjustments if we haven't accumulated anything").
[...]

John Stultz, who made the upstream change and backported it to 2.6.32,
said this fix could be reverted as unsuitable for 2.6.32 and not that
important, though it may be possible to fix it up.

Ben.

-- System Information:
Debian Release: 7.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: i386 (x86_64)
Foreign Architectures: amd64

Kernel: Linux 3.2.0-4.drm-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash


Reply to: