|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 4/7] add nspin_sleep function to time manager
On Tue, Apr 10, 2018 at 09:16:58PM +0200, Paul Semel wrote:
> this function spin sleeps for t nanoseconds
>
> Signed-off-by: Paul Semel <phentex@xxxxxxxxx>
> ---
>
> Notes:
> v4:
> - new patch version
>
> common/time.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/common/time.c b/common/time.c
> index 8489f3b..232e134 100644
> --- a/common/time.c
> +++ b/common/time.c
> @@ -139,6 +139,18 @@ int gettimeofday(struct timeval *tp, void *restrict tzp)
> return 0;
> }
>
> +static inline void nspin_sleep(uint64_t t)
> +{
> + uint64_t curr = since_boot_time();
> + uint64_t end = curr + t;
> +
> + if ( end < curr )
> + panic("end value overflows counter\n");
> +
> + while ( since_boot_time() < end )
> + asm volatile ("pause");
You likely want to add a pause helper to arch/x86/include/arch/lib.h
in order to avoid open-coding the asm instruction in common code.
Thanks, Roger.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |