Christophe Leroy's on August 27, 2019 4:13 pm:
> 
> 
> Le 27/08/2019 à 05:30, Nicholas Piggin a écrit :
>> There is support for the kernel to execute the 'sc 0' instruction and
>> make a system call to itself. This is a relic that is unused in the
>> tree, therefore untested. It's also highly questionable for modules to
>> be doing this.
> 
> I like it.
> 
> I dropped support for that in PPC32 when I added fast-path syscalls.

Good, then we'll match again.

>> -    beq     2f                      /* if from kernel mode */
>>   #ifdef CONFIG_PPC_FSL_BOOK3E
>>   START_BTB_FLUSH_SECTION
>>      BTB_FLUSH(r10)
>>   END_BTB_FLUSH_SECTION
>>   #endif
>>      ACCOUNT_CPU_USER_ENTRY(r13, r10, r11)
>> -2:  std     r2,GPR2(r1)

Btw. there is a hunk which restores this optimisation but it leaked
into a later patch, I'll move it back here.

>> @@ -122,14 +118,13 @@ END_BTB_FLUSH_SECTION
>>   
>>   #if defined(CONFIG_VIRT_CPU_ACCOUNTING_NATIVE) && 
>> defined(CONFIG_PPC_SPLPAR)
>>   BEGIN_FW_FTR_SECTION
>> -    beq     33f
>> -    /* if from user, see if there are any DTL entries to process */
>> +    /* see if there are any DTL entries to process */
>>      ld      r10,PACALPPACAPTR(r13)  /* get ptr to VPA */
>>      ld      r11,PACA_DTL_RIDX(r13)  /* get log read index */
>>      addi    r10,r10,LPPACA_DTLIDX
>>      LDX_BE  r10,0,r10               /* get log write index */
>> -    cmpd    cr1,r11,r10
>> -    beq+    cr1,33f
>> +    cmpd    r11,r10
>> +    beq+    33f
> 
> Any need to do this change ? Why not keep it as is ?

We don't need to keep cr0 alive with the MSR_PR compare, so I prefer
to keep the cr usage more compact, and I prefer to have cr0 for short
lived results and others for long running ones as a rule.

Thanks,
Nick

Reply via email to