small optimization in ia64_leave_kernel
PATCH 1/1 small optimization in ia64_leave_kernel
Hi Tony:
When returning to the kernel and not switching rbs, avoid fetching local_cpu_data. More could possibly be optimized here but limited registers are available and the number of bundles might increase. I didn't pursue any further than predicating two instructions which eliminates a memory fetch.
thanks,
bob
Signed-off-by Bob Picco <[email protected]>
arch/ia64/kernel/entry.S +2 -2
@@ -925,9 +925,9 @@ GLOBAL_ENTRY(ia64_leave_kernel) shr.u r18=r19,16 // get byte size of existing "dirty" partition ;; mov r16=ar.bsp // get existing backing store pointer - addl r17=THIS_CPU(ia64_phys_stacked_size_p8),r0 +(pUStk) addl r17=THIS_CPU(ia64_phys_stacked_size_p8),r0 ;; - ld4 r17=[r17] // r17 = cpu_data->phys_stacked_size_p8 +(pUStk) ld4 r17=[r17] // r17 = cpu_data->phys_stacked_size_p8 (pKStk) br.cond.dpnt skip_rbs_switch /*