Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cab36c26 authored by Martin Schwidefsky's avatar Martin Schwidefsky
Browse files

s390: use 64-bit lctlg to load task pid to cr4 on context switch



The 32-bit lctl instruction is quite a bit slower than the 64-bit
counter part lctlg. Use the faster instruction.

Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 6fb81d69
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -190,7 +190,9 @@ ENTRY(__switch_to)
	stg	%r15,__LC_KERNEL_STACK		# store end of kernel stack
	lg	%r15,__THREAD_ksp(%r1)		# load kernel stack of next
	/* c4 is used in guest detection: arch/s390/kernel/perf_cpum_sf.c */
	lctl	%c4,%c4,__TASK_pid(%r3)		# load pid to control reg. 4
	xc	__SF_EMPTY(8,%r15),__SF_EMPTY(%r15)
	mvc	__SF_EMPTY+4(4,%r15),__TASK_pid(%r3)
	lctlg	%c4,%c4,__SF_EMPTY(%r15)	# load pid to control reg. 4
	mvc	__LC_CURRENT_PID(4,%r0),__TASK_pid(%r3) # store pid of next
	lmg	%r6,%r15,__SF_GPRS(%r15)	# load gprs of next task
	TSTMSK	__LC_MACHINE_FLAGS,MACHINE_FLAG_LPP