BUG: scheduling while atomic: ip/1210/0x00000200 on xenial/hwe rumford
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Xenial |
Invalid
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Medium
|
Unassigned | ||
linux-hwe (Ubuntu) |
Fix Committed
|
Undecided
|
Luke Nowakowski-Krijger | ||
Xenial |
Fix Committed
|
Medium
|
Unassigned | ||
Bionic |
Invalid
|
Undecided
|
Unassigned |
Bug Description
[Impact]
There were BUG: scheduling while atomic: ip/1210/0x00000200 appearing
on xenial/hwe with the tg3 ethernet driver when running on rumford instance.
Probably some performace degradation as the driver was trying to sleep while
holding a spinlock.
There also was cluttering of the kernel log with stack traces.
[Fix]
Change usleep_range -> udelay which is safe to call from atomic
contexts.
[Test]
Compile tested only. Should see this resolved in the next cycle on
xenial/hwe rumford instance.
[Where problems could occur]
Not much regression potential as the correct delay call is now being
called.
-------
There is a bug being triggered on a usleep within the tg3 driver with xenial/linux-hwe 4.15.0-
This has been observed in multiple cycles during boot-testing.
[ 27.437584] BUG: scheduling while atomic: ip/1210/0x00000200
[ 27.468440] Modules linked in: nls_iso8859_1 intel_rapl sb_edac x86_pkg_
[ 27.468491] CPU: 1 PID: 1210 Comm: ip Not tainted 4.15.0-197-generic #208~16.04.1-Ubuntu
[ 27.468493] Hardware name: HP ProLiant DL360 Gen9/ProLiant DL360 Gen9, BIOS P89 05/21/2018
[ 27.468494] Call Trace:
[ 27.468508] dump_stack+
[ 27.468515] __schedule_
[ 27.468519] __schedule+
[ 27.468522] schedule+0x36/0x80
[ 27.468527] schedule_
[ 27.468532] ? __hrtimer_
[ 27.468536] schedule_
[ 27.468539] usleep_
[ 27.468547] tg3_ape_
[ 27.468552] tg3_ape_
[ 27.468557] tg3_start+
[ 27.468563] tg3_open+
[ 27.468568] __dev_open+
[ 27.468572] __dev_change_
[ 27.468575] dev_change_
[ 27.468580] do_setlink+
[ 27.468589] ? nla_parse+
[ 27.468592] rtnl_newlink+
[ 27.468597] ? do_anonymous_
[ 27.468605] ? ns_capable_
[ 27.468608] ? ns_capable+
[ 27.468612] rtnetlink_
[ 27.468615] ? _cond_resched+
[ 27.468620] ? __kmalloc_
[ 27.468623] ? rtnl_calcit.
[ 27.468627] netlink_
[ 27.468630] rtnetlink_
[ 27.468633] netlink_
[ 27.468637] netlink_
[ 27.468640] sock_sendmsg+
[ 27.468642] ___sys_
[ 27.468646] ? lru_cache_
[ 27.468649] ? do_anonymous_
[ 27.468653] ? __handle_
[ 27.468657] __sys_sendmsg+
[ 27.468659] ? __sys_sendmsg+
[ 27.468662] SyS_sendmsg+
[ 27.468667] do_syscall_
[ 27.468670] entry_SYSCALL_
[ 27.468673] RIP: 0033:0x7f285dd57590
[ 27.468675] RSP: 002b:00007ffd43
[ 27.468678] RAX: ffffffffffffffda RBX: 00007ffd43714040 RCX: 00007f285dd57590
[ 27.468679] RDX: 0000000000000000 RSI: 00007ffd4370bf80 RDI: 0000000000000003
[ 27.468681] RBP: 000000006364ddd8 R08: 0000000000000040 R09: 0000000000000008
[ 27.468682] R10: 00000000000005e7 R11: 0000000000000246 R12: 00007ffd4370bf80
[ 27.468683] R13: 0000000000000000 R14: 00000000006573a0 R15: 00007ffd43714018
[ 27.468703] NOHZ: local_softirq_
affects: | ubuntu → linux (Ubuntu) |
no longer affects: | linux (Ubuntu) |
Changed in linux-hwe (Ubuntu): | |
status: | New → Confirmed |
Changed in linux-hwe (Ubuntu): | |
assignee: | nobody → Luke Nowakowski-Krijger (lukenow) |
Changed in linux-hwe (Ubuntu): | |
status: | Confirmed → In Progress |
description: | updated |
Changed in linux-hwe (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in linux-hwe (Ubuntu Bionic): | |
status: | New → Invalid |
Changed in linux-hwe (Ubuntu Xenial): | |
importance: | Undecided → Medium |
status: | New → Fix Committed |
Changed in linux (Ubuntu Xenial): | |
status: | New → Invalid |
Changed in linux (Ubuntu): | |
status: | New → Invalid |
Changed in linux (Ubuntu Bionic): | |
importance: | Undecided → Medium |
status: | New → Fix Committed |
This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:
apport-collect 1995870
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.