kernel-packages team mailing list archive
-
kernel-packages team
-
Mailing list archive
-
Message #73667
[Bug 1349028] Re: getitimer returns it_value=0 erroneously
SRU Justification:
Impact:
The CONFIG_CONTEXT_TRACKING_FORCE should be disabled for
various reasons:
1. As described in the Kconfig "this option brings an
overhead that you don't want in production" and also
"Say Y only if you're working on the development of an
architecture backend for the context tracking."
Clearly for production kernel we should disable this.
2. Disabling this option also fixes bug LP:#1349028.
Testcase:
According to the getitimer() man page: "The element
it_value is set to the amount of time remaining on
the timer, or zero if the timer is disabled. Similarly,
it_interval is set to the reset value."
The following perl script should never exit:
use Time::HiRes;
$SIG{VTALRM} = sub { };
Time::HiRes::setitimer(&Time::HiRes::ITIMER_VIRTUAL, 0.5, 0.4);
while (1) {
my @t = Time::HiRes::getitimer(&Time::HiRes::ITIMER_VIRTUAL);
exit 0 if $t[0] == 0;
}
With this config change the correct behaviour occurs.
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1349028
Title:
getitimer returns it_value=0 erroneously
Status in “linux” package in Ubuntu:
Incomplete
Bug description:
According to the 'getitimer()' man page: "The element it_value is set
to the amount of time remaining on the timer, or zero if the timer is
disabled. Similarly, it_interval is set to the reset value."
As such the following Perl program should never exit:
use Time::HiRes;
$SIG{VTALRM} = sub { };
Time::HiRes::setitimer(&Time::HiRes::ITIMER_VIRTUAL, 0.5, 0.4);
while (1) {
my @t = Time::HiRes::getitimer(&Time::HiRes::ITIMER_VIRTUAL);
exit 0 if $t[0] == 0;
}
and on linux-image 3.11.0-18-generic (and all other systems tested) it
loops forever but 3.13.0-32-generic it exits. Have not bisected
between those kernels, nor am I likely to be able to do so soon.
This Perl program shows the timer countdown:
use Time::HiRes;
my $r = [Time::HiRes::gettimeofday()];
sub display {
my ($desc) = @_;
my @t = Time::HiRes::getitimer(&Time::HiRes::ITIMER_VIRTUAL);
my $i = Time::HiRes::tv_interval($r);
printf "%s: elasped=%.8f; time left=%.6f reset time=%.6f\n", $desc,
$i,@t;
}
$SIG{VTALRM} = sub {
display('VTALRM');
exit;
};
Time::HiRes::setitimer(&Time::HiRes::ITIMER_VIRTUAL, 0.5, 0.4);
while (1) {
display('inloop');
}
on other (working) systems it gives:
inloop: elasped=1.65178400; time left=0.001000 reset time=0.401000
inloop: elasped=1.65184200; time left=0.001000 reset time=0.401000
inloop: elasped=1.65186800; time left=0.001000 reset time=0.401000
inloop: elasped=1.65192300; time left=0.001000 reset time=0.401000
inloop: elasped=1.65198100; time left=0.001000 reset time=0.401000
VTALRM: elasped=1.65209800; time left=0.400000 reset time=0.401000
(end of file)
but on the 3.13.0-32-generic or later kernel I get:
inloop: elasped=0.54692100; time left=0.000033 reset time=0.400000
inloop: elasped=0.54692800; time left=0.000026 reset time=0.400000
inloop: elasped=0.54693500; time left=0.000020 reset time=0.400000
inloop: elasped=0.54694100; time left=0.000013 reset time=0.400000
inloop: elasped=0.54694800; time left=0.000007 reset time=0.400000
inloop: elasped=0.54695500; time left=0.000000 reset time=0.400000
inloop: elasped=0.54696200; time left=0.004000 reset time=0.400000
[...]
VTALRM: elasped=0.55013600; time left=0.397062 reset time=0.400000
(end of file)
The reset time also looks dodgy.
Hardware is an Intel Core i7-920 on Asus P6T Deluxe v2 (X58)
motherboard and hasn't changed.
Requested information:
Ubuntu 3.13.0-32.57-generic 3.13.11.4
Description: Ubuntu 14.04.1 LTS
Release: 14.04
# apt-cache policy linux-image-generic
linux-image-generic:
Installed: 3.13.0.32.38
Candidate: 3.13.0.32.38
Version table:
*** 3.13.0.32.38 0
500 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
500 http://us.archive.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
500 http://us.archive.ubuntu.com/ubuntu/ trusty-proposed/main amd64 Packages
500 http://ppa.launchpad.net/canonical-kernel-team/ppa/ubuntu/ trusty/main amd64 Packages
100 /var/lib/dpkg/status
3.13.0.24.28 0
500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
---
ApportVersion: 2.14.1-0ubuntu3.2
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/controlC1: tivrusky 3009 F.... pulseaudio
/dev/snd/controlC0: tivrusky 3009 F.... pulseaudio
DistroRelease: Ubuntu 14.04
HibernationDevice: RESUME=UUID=c026abdc-9fee-425c-b5ae-020bf6ea2ad6
IwConfig:
eth0 no wireless extensions.
eth1 no wireless extensions.
lo no wireless extensions.
MachineType: System manufacturer System Product Name
Package: linux (not installed)
ProcFB: 0 radeondrmfb
ProcKernelCmdLine: root=UUID=3ea7a4cb-eade-4906-b545-5133d8c14080 ro quiet splash
ProcVersionSignature: Ubuntu 3.13.0-32.57-generic 3.13.11.4
RelatedPackageVersions:
linux-restricted-modules-3.13.0-32-generic N/A
linux-backports-modules-3.13.0-32-generic N/A
linux-firmware 1.127.5
RfKill:
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
Tags: trusty
Uname: Linux 3.13.0-32-generic x86_64
UpgradeStatus: Upgraded to trusty on 2014-06-10 (46 days ago)
UserGroups: adm admin cdrom dialout lpadmin mythtv plugdev sambashare vboxusers
WifiSyslog: Jul 26 20:23:08 zwei NetworkManager[1174]: <info> Policy set 'Wired connection 2' (eth1) as default for IPv6 routing and DNS.
WpaSupplicantLog:
_MarkForUpload: True
dmi.bios.date: 02/04/2009
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 0203
dmi.board.asset.tag: To Be Filled By O.E.M.
dmi.board.name: P6T DELUXE V2
dmi.board.vendor: ASUSTeK Computer INC.
dmi.board.version: Rev 1.xx
dmi.chassis.asset.tag: Asset-1234567890
dmi.chassis.type: 3
dmi.chassis.vendor: Chassis Manufacture
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr0203:bd02/04/2009:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKComputerINC.:rnP6TDELUXEV2:rvrRev1.xx:cvnChassisManufacture:ct3:cvrChassisVersion:
dmi.product.name: System Product Name
dmi.product.version: System Version
dmi.sys.vendor: System manufacturer
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1349028/+subscriptions
References