[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 4/7] add nspin_sleep function to time manager



From: Paul Semel <phentex@xxxxxxxxx>

Signed-off-by: Paul Semel <phentex@xxxxxxxxx>

cr https://code.amazon.com/reviews/CR-836539
---
 common/time.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/common/time.c b/common/time.c
index c80bc11..db28d78 100644
--- a/common/time.c
+++ b/common/time.c
@@ -106,6 +106,24 @@ int gettimeofday(struct timeval *tp)
     return 0;
 }
 
+#if defined(__i386__)
+static inline void nspin_sleep(uint32_t t)
+#else
+static inline void nspin_sleep(uint64_t t)
+#endif
+{
+#if defined(__i386__)
+    uint32_t curr = since_boot_time();
+    uint32_t end = curr + t;
+#else
+    uint64_t curr = since_boot_time();
+    uint64_t end = curr + t;
+#endif
+
+    while ( curr < end )
+        curr = since_boot_time();
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.16.2

Amazon Development Center Germany GmbH
Berlin - Dresden - Aachen
main office: Krausenstr. 38, 10117 Berlin
Geschaeftsfuehrer: Dr. Ralf Herbrich, Christian Schlaeger
Ust-ID: DE289237879
Eingetragen am Amtsgericht Charlottenburg HRB 149173 B


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.