Re: [PATCH 1/3] powerpc: implement barrier primitives
On Thu, Jun 18, 2015 at 10:11:58AM +0100, Michael Ellerman wrote: On Wed, 2015-06-17 at 11:15 +0100, Will Deacon wrote: On Wed, Jun 17, 2015 at 10:43:48AM +0100, Andre Przywara wrote: Instead of referring to the Linux header including the barrier macros, copy over the rather simple implementation for the PowerPC barrier instructions kvmtool uses. This fixes build for powerpc. Signed-off-by: Andre Przywara andre.przyw...@arm.com --- Hi, I just took what kvmtool seems to have used before, I actually have no idea if sync is the right instruction or lwsync would do. Would be nice if some people with PowerPC knowledge could comment. I *think* we can use lwsync for rmb and wmb, but would want confirmation from a ppc guy before making that change! Ugh, memory barriers :) I prefer to call them Job Security :) You probably can use lwsync, assuming you're only ordering cacheable vs cacheable. But, lwsync has given us pain in the past[1], so I'd be happier if you just used sync. No probs. I pushed Andre's original patch. Will -- To unsubscribe from this list: send the line unsubscribe kvm-ppc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/3] powerpc: implement barrier primitives
On Thu, Jun 18, 2015 at 10:11:58AM +0100, Michael Ellerman wrote: On Wed, 2015-06-17 at 11:15 +0100, Will Deacon wrote: On Wed, Jun 17, 2015 at 10:43:48AM +0100, Andre Przywara wrote: Instead of referring to the Linux header including the barrier macros, copy over the rather simple implementation for the PowerPC barrier instructions kvmtool uses. This fixes build for powerpc. Signed-off-by: Andre Przywara andre.przyw...@arm.com --- Hi, I just took what kvmtool seems to have used before, I actually have no idea if sync is the right instruction or lwsync would do. Would be nice if some people with PowerPC knowledge could comment. I *think* we can use lwsync for rmb and wmb, but would want confirmation from a ppc guy before making that change! Ugh, memory barriers :) I prefer to call them Job Security :) You probably can use lwsync, assuming you're only ordering cacheable vs cacheable. But, lwsync has given us pain in the past[1], so I'd be happier if you just used sync. No probs. I pushed Andre's original patch. Will -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/3] powerpc: implement barrier primitives
On Wed, 2015-06-17 at 11:15 +0100, Will Deacon wrote: On Wed, Jun 17, 2015 at 10:43:48AM +0100, Andre Przywara wrote: Instead of referring to the Linux header including the barrier macros, copy over the rather simple implementation for the PowerPC barrier instructions kvmtool uses. This fixes build for powerpc. Signed-off-by: Andre Przywara andre.przyw...@arm.com --- Hi, I just took what kvmtool seems to have used before, I actually have no idea if sync is the right instruction or lwsync would do. Would be nice if some people with PowerPC knowledge could comment. I *think* we can use lwsync for rmb and wmb, but would want confirmation from a ppc guy before making that change! Ugh, memory barriers :) You probably can use lwsync, assuming you're only ordering cacheable vs cacheable. But, lwsync has given us pain in the past[1], so I'd be happier if you just used sync. cheers [1]: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=51d7d5205d3389a32859f9939f1093f267409929 -- To unsubscribe from this list: send the line unsubscribe kvm-ppc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/3] powerpc: implement barrier primitives
On Wed, 2015-06-17 at 11:15 +0100, Will Deacon wrote: On Wed, Jun 17, 2015 at 10:43:48AM +0100, Andre Przywara wrote: Instead of referring to the Linux header including the barrier macros, copy over the rather simple implementation for the PowerPC barrier instructions kvmtool uses. This fixes build for powerpc. Signed-off-by: Andre Przywara andre.przyw...@arm.com --- Hi, I just took what kvmtool seems to have used before, I actually have no idea if sync is the right instruction or lwsync would do. Would be nice if some people with PowerPC knowledge could comment. I *think* we can use lwsync for rmb and wmb, but would want confirmation from a ppc guy before making that change! Ugh, memory barriers :) You probably can use lwsync, assuming you're only ordering cacheable vs cacheable. But, lwsync has given us pain in the past[1], so I'd be happier if you just used sync. cheers [1]: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=51d7d5205d3389a32859f9939f1093f267409929 -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 1/3] powerpc: implement barrier primitives
Instead of referring to the Linux header including the barrier macros, copy over the rather simple implementation for the PowerPC barrier instructions kvmtool uses. This fixes build for powerpc. Signed-off-by: Andre Przywara andre.przyw...@arm.com --- Hi, I just took what kvmtool seems to have used before, I actually have no idea if sync is the right instruction or lwsync would do. Would be nice if some people with PowerPC knowledge could comment. Cheers, Andre. powerpc/include/kvm/barrier.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/powerpc/include/kvm/barrier.h b/powerpc/include/kvm/barrier.h index dd5115a..4b708ae 100644 --- a/powerpc/include/kvm/barrier.h +++ b/powerpc/include/kvm/barrier.h @@ -1,6 +1,8 @@ #ifndef _KVM_BARRIER_H_ #define _KVM_BARRIER_H_ -#include asm/barrier.h +#define mb() asm volatile (sync : : : memory) +#define rmb() asm volatile (sync : : : memory) +#define wmb() asm volatile (sync : : : memory) #endif /* _KVM_BARRIER_H_ */ -- 2.3.5 -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/3] powerpc: implement barrier primitives
On 17.06.15 12:15, Will Deacon wrote: On Wed, Jun 17, 2015 at 10:43:48AM +0100, Andre Przywara wrote: Instead of referring to the Linux header including the barrier macros, copy over the rather simple implementation for the PowerPC barrier instructions kvmtool uses. This fixes build for powerpc. Signed-off-by: Andre Przywara andre.przyw...@arm.com --- Hi, I just took what kvmtool seems to have used before, I actually have no idea if sync is the right instruction or lwsync would do. Would be nice if some people with PowerPC knowledge could comment. I *think* we can use lwsync for rmb and wmb, but would want confirmation from a ppc guy before making that change! Also I'd prefer to play safe for now :) Alex -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/3] powerpc: implement barrier primitives
On Wed, Jun 17, 2015 at 10:43:48AM +0100, Andre Przywara wrote: Instead of referring to the Linux header including the barrier macros, copy over the rather simple implementation for the PowerPC barrier instructions kvmtool uses. This fixes build for powerpc. Signed-off-by: Andre Przywara andre.przyw...@arm.com --- Hi, I just took what kvmtool seems to have used before, I actually have no idea if sync is the right instruction or lwsync would do. Would be nice if some people with PowerPC knowledge could comment. I *think* we can use lwsync for rmb and wmb, but would want confirmation from a ppc guy before making that change! Will -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html