]> git.baikalelectronics.ru Git - kernel.git/commit
MIPS: oprofile: Fix a preemption issue
authorYanjiang Jin <yanjiang.jin@windriver.com>
Wed, 9 Dec 2015 03:15:27 +0000 (11:15 +0800)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 9 May 2016 10:00:03 +0000 (12:00 +0200)
commit9f42fa649e7ccc6aff7da06aacd0ccf075be6ada
tree7addda9bca85a04c2644d24e0d5aa05a40522ca2
parent26012e0f9f60146012bf6d0e071b4b9f4561c16e
MIPS: oprofile: Fix a preemption issue

Use boot_cpu_type() instead of current_cpu_type() in oprofile_arch_init()
to avoid the below warning, cpu_type is normally consistent in a MIPS SMP
system.  There are a few exceptions such as SGI servers where it is
possible to mix R10000, R12000, R14000 and R16000 within certain
constraints.  Let's not worry about those now.

BUG: using smp_processor_id() in preemptible [00000000] code: insmod/952
caller is oprofile_arch_init+0x30/0x194 [oprofile]
CPU: 5 PID: 952 Comm: insmod Not tainted 4.1.13-WR8.0.0.0_standard #1
Stack : ffffffff80c10000 0000000000000001 8000000025bf0790 ffffffff80e10000
  ffffffff80e50000 ffffffff80254e2c ffffffff80b64428 ffffffff80e10790
  0000000000000000 ffffffff801caeb8 0000000000000045 0000000000000005
  ffffffff80c10000 ffffffff801cb798 0000000000000000 ffffffff80e30000
  0000000000000000 ffffffff801ff1c0 ffffffff80e2d2f8 000000000000000b
  ffffffff801cbba0 ffffffff80e107b0 ffffffff80a77828 0000000000000005
  00000000000003b8 ffffffff80e2d2f8 800000040ad39960 ffffffff801f9950
  0000000000000124 80000004093b7990 80000004093b7ab8 ffffffff80925108
  ffffffff80b69a07 ffffffff80a6f0d0 8000000407240e00 ffffffff801cc934
  000000000000005d ffffffff80159080 0000000000000005 00000000000003b8
  ...
Call Trace:
[<ffffffff80159080>] show_stack+0xe8/0x108
[<ffffffff80925108>] dump_stack+0x8c/0xd8
[<ffffffff80606570>] check_preemption_disabled+0x110/0x118
[<ffffffffc0086104>] oprofile_arch_init+0x30/0x194 [oprofile]
[<ffffffffc008602c>] oprofile_init+0x2c/0xc0 [oprofile]
[<ffffffff80100550>] do_one_initcall+0xa0/0x1c0
[<ffffffff80921e04>] do_init_module+0x80/0x1d8
[<ffffffff801fd0d4>] load_module+0x1b74/0x2278
[<ffffffff801fdab4>] SyS_finit_module+0xcc/0xf0
[<ffffffff80165884>] handle_sysn32+0x44/0x70

[ralf@linux-mips.org: Correct commit message.]

Signed-off-by: Yanjiang Jin <yanjiang.jin@windriver.com>
Cc: rric@kernel.org
Cc: jinyanjiang@gmail.com
Cc: linux-mips@linux-mips.org
Cc: oprofile-list@lists.sf.net
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/11769/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/oprofile/common.c