补丁‘确保 get_futex_key_refs() 始终隐含障碍’反向移植到 3.2.0 是否准确?

补丁‘确保 get_futex_key_refs() 始终隐含障碍’反向移植到 3.2.0 是否准确?

我在一台装有 Ubuntu 12.04.2 LTS 和 Linux 3.2.0-101 内核的服务器上的一个进程上遇到了一个错误,该错误似乎与 futex 有关。

strace 是:

futex(0x25436a4, FUTEX_WAIT_BITSET_PRIVATE, 1897, {8720249, 429576138}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
futex(0x2543718, FUTEX_WAKE_PRIVATE, 1) = 0
clock_gettime(CLOCK_MONOTONIC, {8720249, 430115772}) = 0
clock_gettime(CLOCK_MONOTONIC, {8720249, 430246316}) = 0
clock_gettime(CLOCK_MONOTONIC, {8720249, 430343247}) = 0
futex(0x25436a4, FUTEX_WAIT_BITSET_PRIVATE, 1899, {8720249, 930343247}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
futex(0x2543718, FUTEX_WAKE_PRIVATE, 1) = 0
clock_gettime(CLOCK_MONOTONIC, {8720249, 930688684}) = 0
clock_gettime(CLOCK_MONOTONIC, {8720249, 930799335}) = 0
clock_gettime(CLOCK_MONOTONIC, {8720249, 930887869}) = 0
futex(0x25436a4, FUTEX_WAIT_BITSET_PRIVATE, 1901, {8720250, 430887869}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
futex(0x2543718, FUTEX_WAKE_PRIVATE, 1) = 0

已找到修复方法,可在此处查看https://github.com/torvalds/linux/commit/76835b0ebf8a7fe85beb03c75121419a7dec52f0

我找不到此补丁是否已在 Ubuntu 12.04.2 LTS 和 Linux 3.2.0-xxx 内核上反向移植。

谢谢。

答案1

首先,12.04.2 已过期,可能不再受支持。

但是,这可能会有所帮助(并且很通用):阅读更改日志。

apt-get changelog linux-image-$(uname -r)
apt-get changelog linux-image-extra-$(uname -r)

相关内容