[PATCH 1/2] powerpc/vdso64: Coarse timer support preparatory patch
Naveen N. Rao
naveen.n.rao at linux.vnet.ibm.com
Fri Oct 6 20:03:02 AEDT 2017
Hi Santosh,
On 2017/09/18 09:23AM, Santosh Sivaraj wrote:
> Reorganize code to make it easy to introduce CLOCK_REALTIME_COARSE and
> CLOCK_MONOTONIC_COARSE timer support.
>
> Signed-off-by: Santosh Sivaraj <santosh at fossix.org>
> ---
> arch/powerpc/kernel/vdso64/gettimeofday.S | 14 ++++++++------
> 1 file changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/arch/powerpc/kernel/vdso64/gettimeofday.S b/arch/powerpc/kernel/vdso64/gettimeofday.S
> index 382021324883..a0b4943811db 100644
> --- a/arch/powerpc/kernel/vdso64/gettimeofday.S
> +++ b/arch/powerpc/kernel/vdso64/gettimeofday.S
> @@ -60,18 +60,20 @@ V_FUNCTION_END(__kernel_gettimeofday)
> */
> V_FUNCTION_BEGIN(__kernel_clock_gettime)
> .cfi_startproc
> + mr r11,r4 /* r11 saves tp */
> + mflr r12 /* r12 saves lr */
> + lis r7,NSEC_PER_SEC at h /* want nanoseconds */
> + ori r7,r7,NSEC_PER_SEC at l
> +
> /* Check for supported clock IDs */
> cmpwi cr0,r3,CLOCK_REALTIME
> cmpwi cr1,r3,CLOCK_MONOTONIC
> cror cr0*4+eq,cr0*4+eq,cr1*4+eq
> - bne cr0,99f
> + beq cr0,49f
>
> - mflr r12 /* r12 saves lr */
> + b 99f /* Fallback to syscall */
'beq', followed by a 'b' looks weird without considering the next patch.
I think this can be organized better to not have to update r7/r11/r12 if
using the system call. See next patch for my comments.
> .cfi_register lr,r12
If you move the mflr, you should move the above line along with it.
- Naveen
> - mr r11,r4 /* r11 saves tp */
> - bl V_LOCAL_FUNC(__get_datapage) /* get data page */
> - lis r7,NSEC_PER_SEC at h /* want nanoseconds */
> - ori r7,r7,NSEC_PER_SEC at l
> +49: bl V_LOCAL_FUNC(__get_datapage) /* get data page */
> 50: bl V_LOCAL_FUNC(__do_get_tspec) /* get time from tb & kernel */
> bne cr1,80f /* if not monotonic, all done */
>
> --
> 2.13.5
>
More information about the Linuxppc-dev
mailing list