[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [kvm-unit-tests PATCH v8 02/14] x86/asm: add cpu_relax()
From: |
Peter Xu |
Subject: |
[Qemu-devel] [kvm-unit-tests PATCH v8 02/14] x86/asm: add cpu_relax() |
Date: |
Mon, 12 Dec 2016 11:08:08 +0800 |
This will be useful to be put inside loops.
Suggested-by: Andrew Jones <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Signed-off-by: Peter Xu <address@hidden>
---
lib/x86/asm/barrier.h | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/lib/x86/asm/barrier.h b/lib/x86/asm/barrier.h
index 7c108bd..193fb4c 100644
--- a/lib/x86/asm/barrier.h
+++ b/lib/x86/asm/barrier.h
@@ -13,4 +13,15 @@
#define smp_rmb() barrier()
#define smp_wmb() barrier()
+/* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */
+static inline void rep_nop(void)
+{
+ asm volatile("rep; nop" ::: "memory");
+}
+
+static inline void cpu_relax(void)
+{
+ rep_nop();
+}
+
#endif
--
2.7.4
- [Qemu-devel] [kvm-unit-tests PATCH v8 00/14] VT-d unit test, Peter Xu, 2016/12/11
- [Qemu-devel] [kvm-unit-tests PATCH v8 01/14] pci: fix missing extern for pci_testdev(), Peter Xu, 2016/12/11
- [Qemu-devel] [kvm-unit-tests PATCH v8 02/14] x86/asm: add cpu_relax(),
Peter Xu <=
- [Qemu-devel] [kvm-unit-tests PATCH v8 03/14] libcflat: introduce is_power_of_2(), Peter Xu, 2016/12/11
- [Qemu-devel] [kvm-unit-tests PATCH v8 04/14] x86: intel-iommu: add vt-d init test, Peter Xu, 2016/12/11
- [Qemu-devel] [kvm-unit-tests PATCH v8 05/14] libcflat: add IS_ALIGNED() macro, and page sizes, Peter Xu, 2016/12/11
- [Qemu-devel] [kvm-unit-tests PATCH v8 06/14] libcflat: moving MIN/MAX here, Peter Xu, 2016/12/11
- [Qemu-devel] [kvm-unit-tests PATCH v8 07/14] vm/page: provide PGDIR_OFFSET() macro, Peter Xu, 2016/12/11
- [Qemu-devel] [kvm-unit-tests PATCH v8 08/14] pci: introduce struct pci_dev, Peter Xu, 2016/12/11
- [Qemu-devel] [kvm-unit-tests PATCH v8 09/14] pci: provide pci_scan_bars(), Peter Xu, 2016/12/11
- [Qemu-devel] [kvm-unit-tests PATCH v8 10/14] pci: provide pci_enable_defaults(), Peter Xu, 2016/12/11
- [Qemu-devel] [kvm-unit-tests PATCH v8 11/14] pci: edu: introduce pci-edu helpers, Peter Xu, 2016/12/11
- [Qemu-devel] [kvm-unit-tests PATCH v8 12/14] x86: intel-iommu: add dmar test, Peter Xu, 2016/12/11