[PATCH] kvm: powerpc: book3s: use local_paca instead of get_paca

Subsystems: kernel virtual machine for powerpc (kvm/powerpc), linux for powerpc (32-bit and 64-bit), the rest

STALE3402d

3 messages, 2 authors, 2017-04-25 · open the first message on its own page

[PATCH] kvm: powerpc: book3s: use local_paca instead of get_paca

From: Denis Kirjanov <hidden>
Date: 2017-03-29 10:57:25

with CONFIG_DEBUG_PREEMPT get_paca produces the following warning
in kvmppc_book3s_init_hv since we are getting into the
smp_processor_id debugging code

There is no real issue with the xics_phys field.
If paca->kvm_hstate.xics_phys is non-zero on one cpu, it will be
non-zero on them all.  Therefore this is not fixing any actual
problem, just the warning.

[  138.521188] BUG: using smp_processor_id() in preemptible [00000000] code: modprobe/5596
[  138.521308] caller is .kvmppc_book3s_init_hv+0x184/0x350 [kvm_hv]
[  138.521404] CPU: 5 PID: 5596 Comm: modprobe Not tainted 4.11.0-rc3-00022-gc7e790c #1
[  138.521509] Call Trace:
[  138.521563] [c0000007d018b810] [c0000000023eef10] .dump_stack+0xe4/0x150 (unreliable)
[  138.521694] [c0000007d018b8a0] [c000000001f6ec04] .check_preemption_disabled+0x134/0x150
[  138.521829] [c0000007d018b940] [d00000000a010274] .kvmppc_book3s_init_hv+0x184/0x350 [kvm_hv]
[  138.521963] [c0000007d018ba00] [c00000000191d5cc] .do_one_initcall+0x5c/0x1c0
[  138.522082] [c0000007d018bad0] [c0000000023e9494] .do_init_module+0x84/0x240
[  138.522201] [c0000007d018bb70] [c000000001aade18] .load_module+0x1f68/0x2a10
[  138.522319] [c0000007d018bd20] [c000000001aaeb30] .SyS_finit_module+0xc0/0xf0
[  138.522439] [c0000007d018be30] [c00000000191baec] system_call+0x38/0xfc

Signed-off-by: Denis Kirjanov <redacted>
---
 arch/powerpc/kvm/book3s_hv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c
index 1ec86d9..cb4ff36 100644
--- a/arch/powerpc/kvm/book3s_hv.c
+++ b/arch/powerpc/kvm/book3s_hv.c
@@ -3930,7 +3930,7 @@ static int kvmppc_book3s_init_hv(void)
 	 * indirectly, via OPAL.
 	 */
 #ifdef CONFIG_SMP
-	if (!get_paca()->kvm_hstate.xics_phys) {
+	if (!local_paca->kvm_hstate.xics_phys) {
 		struct device_node *np;
 
 		np = of_find_compatible_node(NULL, NULL, "ibm,opal-intc");
-- 
1.8.3.1

Re: [PATCH] kvm: powerpc: book3s: use local_paca instead of get_paca

From: Denis Kirjanov <hidden>
Date: 2017-04-25 07:30:16

On 3/29/17, Denis Kirjanov [off-list ref] wrote:
with CONFIG_DEBUG_PREEMPT get_paca produces the following warning
in kvmppc_book3s_init_hv since we are getting into the
smp_processor_id debugging code

There is no real issue with the xics_phys field.
If paca->kvm_hstate.xics_phys is non-zero on one cpu, it will be
non-zero on them all.  Therefore this is not fixing any actual
problem, just the warning.
Hey Michael,

are you going to take the patch?

Thanks!
quoted hunk
[  138.521188] BUG: using smp_processor_id() in preemptible [00000000] code:
modprobe/5596
[  138.521308] caller is .kvmppc_book3s_init_hv+0x184/0x350 [kvm_hv]
[  138.521404] CPU: 5 PID: 5596 Comm: modprobe Not tainted
4.11.0-rc3-00022-gc7e790c #1
[  138.521509] Call Trace:
[  138.521563] [c0000007d018b810] [c0000000023eef10] .dump_stack+0xe4/0x150
(unreliable)
[  138.521694] [c0000007d018b8a0] [c000000001f6ec04]
.check_preemption_disabled+0x134/0x150
[  138.521829] [c0000007d018b940] [d00000000a010274]
.kvmppc_book3s_init_hv+0x184/0x350 [kvm_hv]
[  138.521963] [c0000007d018ba00] [c00000000191d5cc]
.do_one_initcall+0x5c/0x1c0
[  138.522082] [c0000007d018bad0] [c0000000023e9494]
.do_init_module+0x84/0x240
[  138.522201] [c0000007d018bb70] [c000000001aade18]
.load_module+0x1f68/0x2a10
[  138.522319] [c0000007d018bd20] [c000000001aaeb30]
.SyS_finit_module+0xc0/0xf0
[  138.522439] [c0000007d018be30] [c00000000191baec] system_call+0x38/0xfc

Signed-off-by: Denis Kirjanov <redacted>
---
 arch/powerpc/kvm/book3s_hv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c
index 1ec86d9..cb4ff36 100644
--- a/arch/powerpc/kvm/book3s_hv.c
+++ b/arch/powerpc/kvm/book3s_hv.c
@@ -3930,7 +3930,7 @@ static int kvmppc_book3s_init_hv(void)
 	 * indirectly, via OPAL.
 	 */
 #ifdef CONFIG_SMP
-	if (!get_paca()->kvm_hstate.xics_phys) {
+	if (!local_paca->kvm_hstate.xics_phys) {
 		struct device_node *np;

 		np = of_find_compatible_node(NULL, NULL, "ibm,opal-intc");
--
1.8.3.1

Re: [PATCH] kvm: powerpc: book3s: use local_paca instead of get_paca

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2017-04-25 10:42:45

Denis Kirjanov [off-list ref] writes:
On 3/29/17, Denis Kirjanov [off-list ref] wrote:
quoted
with CONFIG_DEBUG_PREEMPT get_paca produces the following warning
in kvmppc_book3s_init_hv since we are getting into the
smp_processor_id debugging code

There is no real issue with the xics_phys field.
If paca->kvm_hstate.xics_phys is non-zero on one cpu, it will be
non-zero on them all.  Therefore this is not fixing any actual
problem, just the warning.
Hey Michael,

are you going to take the patch?
It's in KVM code, so technically Paul should take it.

I'll see if it is likely to conflict with anything in his tree and if
not I'll merge it.

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help