diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2009-06-17 14:13:50 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-07-07 23:50:21 -0400 |
commit | 551a232c87b7781712c57c31f3e0851303d9f591 (patch) | |
tree | bf0ea671b327dec52804890bb056b279787b0b86 | |
parent | 01cc82623aea0b96ee2cba4534d1954ad793cfc3 (diff) |
powerpc/pseries: Use pr_devel() in pseries LPAR HPTE routines
pr_debug() can now result in code being generated even when DEBUG
is not defined. That's not really desirable in some places.
In particular, pSeries_lpar_hpte_insert() goes from 185 instructions
to 77 instructions as a result of this patch. Luckily that code
isn't called very often ...
With CONFIG_DYNAMIC_DEBUG=y:
size before:
text data bss dec hex filename
7284 1552 296 9132 23ac platforms/pseries/lpar.o
size after:
text data bss dec hex filename
5806 1096 296 7198 1c1e platforms/pseries/lpar.o
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-rw-r--r-- | arch/powerpc/platforms/pseries/lpar.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/arch/powerpc/platforms/pseries/lpar.c b/arch/powerpc/platforms/pseries/lpar.c index e3139fa5e556..903eb9eec687 100644 --- a/arch/powerpc/platforms/pseries/lpar.c +++ b/arch/powerpc/platforms/pseries/lpar.c | |||
@@ -286,7 +286,7 @@ static long pSeries_lpar_hpte_insert(unsigned long hpte_group, | |||
286 | unsigned long hpte_v, hpte_r; | 286 | unsigned long hpte_v, hpte_r; |
287 | 287 | ||
288 | if (!(vflags & HPTE_V_BOLTED)) | 288 | if (!(vflags & HPTE_V_BOLTED)) |
289 | pr_debug("hpte_insert(group=%lx, va=%016lx, pa=%016lx, " | 289 | pr_devel("hpte_insert(group=%lx, va=%016lx, pa=%016lx, " |
290 | "rflags=%lx, vflags=%lx, psize=%d)\n", | 290 | "rflags=%lx, vflags=%lx, psize=%d)\n", |
291 | hpte_group, va, pa, rflags, vflags, psize); | 291 | hpte_group, va, pa, rflags, vflags, psize); |
292 | 292 | ||
@@ -294,7 +294,7 @@ static long pSeries_lpar_hpte_insert(unsigned long hpte_group, | |||
294 | hpte_r = hpte_encode_r(pa, psize) | rflags; | 294 | hpte_r = hpte_encode_r(pa, psize) | rflags; |
295 | 295 | ||
296 | if (!(vflags & HPTE_V_BOLTED)) | 296 | if (!(vflags & HPTE_V_BOLTED)) |
297 | pr_debug(" hpte_v=%016lx, hpte_r=%016lx\n", hpte_v, hpte_r); | 297 | pr_devel(" hpte_v=%016lx, hpte_r=%016lx\n", hpte_v, hpte_r); |
298 | 298 | ||
299 | /* Now fill in the actual HPTE */ | 299 | /* Now fill in the actual HPTE */ |
300 | /* Set CEC cookie to 0 */ | 300 | /* Set CEC cookie to 0 */ |
@@ -311,7 +311,7 @@ static long pSeries_lpar_hpte_insert(unsigned long hpte_group, | |||
311 | lpar_rc = plpar_pte_enter(flags, hpte_group, hpte_v, hpte_r, &slot); | 311 | lpar_rc = plpar_pte_enter(flags, hpte_group, hpte_v, hpte_r, &slot); |
312 | if (unlikely(lpar_rc == H_PTEG_FULL)) { | 312 | if (unlikely(lpar_rc == H_PTEG_FULL)) { |
313 | if (!(vflags & HPTE_V_BOLTED)) | 313 | if (!(vflags & HPTE_V_BOLTED)) |
314 | pr_debug(" full\n"); | 314 | pr_devel(" full\n"); |
315 | return -1; | 315 | return -1; |
316 | } | 316 | } |
317 | 317 | ||
@@ -322,11 +322,11 @@ static long pSeries_lpar_hpte_insert(unsigned long hpte_group, | |||
322 | */ | 322 | */ |
323 | if (unlikely(lpar_rc != H_SUCCESS)) { | 323 | if (unlikely(lpar_rc != H_SUCCESS)) { |
324 | if (!(vflags & HPTE_V_BOLTED)) | 324 | if (!(vflags & HPTE_V_BOLTED)) |
325 | pr_debug(" lpar err %lu\n", lpar_rc); | 325 | pr_devel(" lpar err %lu\n", lpar_rc); |
326 | return -2; | 326 | return -2; |
327 | } | 327 | } |
328 | if (!(vflags & HPTE_V_BOLTED)) | 328 | if (!(vflags & HPTE_V_BOLTED)) |
329 | pr_debug(" -> slot: %lu\n", slot & 7); | 329 | pr_devel(" -> slot: %lu\n", slot & 7); |
330 | 330 | ||
331 | /* Because of iSeries, we have to pass down the secondary | 331 | /* Because of iSeries, we have to pass down the secondary |
332 | * bucket bit here as well | 332 | * bucket bit here as well |
@@ -418,17 +418,17 @@ static long pSeries_lpar_hpte_updatepp(unsigned long slot, | |||
418 | 418 | ||
419 | want_v = hpte_encode_avpn(va, psize, ssize); | 419 | want_v = hpte_encode_avpn(va, psize, ssize); |
420 | 420 | ||
421 | pr_debug(" update: avpnv=%016lx, hash=%016lx, f=%lx, psize: %d ...", | 421 | pr_devel(" update: avpnv=%016lx, hash=%016lx, f=%lx, psize: %d ...", |
422 | want_v, slot, flags, psize); | 422 | want_v, slot, flags, psize); |
423 | 423 | ||
424 | lpar_rc = plpar_pte_protect(flags, slot, want_v); | 424 | lpar_rc = plpar_pte_protect(flags, slot, want_v); |
425 | 425 | ||
426 | if (lpar_rc == H_NOT_FOUND) { | 426 | if (lpar_rc == H_NOT_FOUND) { |
427 | pr_debug("not found !\n"); | 427 | pr_devel("not found !\n"); |
428 | return -1; | 428 | return -1; |
429 | } | 429 | } |
430 | 430 | ||
431 | pr_debug("ok\n"); | 431 | pr_devel("ok\n"); |
432 | 432 | ||
433 | BUG_ON(lpar_rc != H_SUCCESS); | 433 | BUG_ON(lpar_rc != H_SUCCESS); |
434 | 434 | ||
@@ -503,7 +503,7 @@ static void pSeries_lpar_hpte_invalidate(unsigned long slot, unsigned long va, | |||
503 | unsigned long lpar_rc; | 503 | unsigned long lpar_rc; |
504 | unsigned long dummy1, dummy2; | 504 | unsigned long dummy1, dummy2; |
505 | 505 | ||
506 | pr_debug(" inval : slot=%lx, va=%016lx, psize: %d, local: %d\n", | 506 | pr_devel(" inval : slot=%lx, va=%016lx, psize: %d, local: %d\n", |
507 | slot, va, psize, local); | 507 | slot, va, psize, local); |
508 | 508 | ||
509 | want_v = hpte_encode_avpn(va, psize, ssize); | 509 | want_v = hpte_encode_avpn(va, psize, ssize); |