search for: atomic_read_sync

Displaying 7 results from an estimated 7 matches for "atomic_read_sync".

2016 Dec 06
1
[PATCH v8 1/6] powerpc/qspinlock: powerpc support qspinlock
...} > #endif > + > +#ifdef CONFIG_QUEUED_SPINLOCKS > +/* > + * This forbid we load an old value in another LL/SC. Because the SC here force > + * another LL/SC repeat. So we guarantee all loads in another LL and SC will > + * read correct value. > + */ > +static inline u32 atomic_read_sync(atomic_t *v) > +{ > + u32 val; > + > + __asm__ __volatile__( > +"1: " PPC_LWARX(%0, 0, %2, 0) "\n" > +" stwcx. %0, 0, %2\n" > +" bne- 1b\n" > + : "=&r" (val), "+m" (*v) > + : "r" (v) > + : "...
2016 Dec 06
1
[PATCH v8 1/6] powerpc/qspinlock: powerpc support qspinlock
...} > #endif > + > +#ifdef CONFIG_QUEUED_SPINLOCKS > +/* > + * This forbid we load an old value in another LL/SC. Because the SC here force > + * another LL/SC repeat. So we guarantee all loads in another LL and SC will > + * read correct value. > + */ > +static inline u32 atomic_read_sync(atomic_t *v) > +{ > + u32 val; > + > + __asm__ __volatile__( > +"1: " PPC_LWARX(%0, 0, %2, 0) "\n" > +" stwcx. %0, 0, %2\n" > +" bne- 1b\n" > + : "=&r" (val), "+m" (*v) > + : "r" (v) > + : "...
2016 Dec 05
0
[PATCH v8 1/6] powerpc/qspinlock: powerpc support qspinlock
...smp_processor_id(holder_cpu), yield_count); } #endif + +#ifdef CONFIG_QUEUED_SPINLOCKS +/* + * This forbid we load an old value in another LL/SC. Because the SC here force + * another LL/SC repeat. So we guarantee all loads in another LL and SC will + * read correct value. + */ +static inline u32 atomic_read_sync(atomic_t *v) +{ + u32 val; + + __asm__ __volatile__( +"1: " PPC_LWARX(%0, 0, %2, 0) "\n" +" stwcx. %0, 0, %2\n" +" bne- 1b\n" + : "=&r" (val), "+m" (*v) + : "r" (v) + : "cr0", "xer"); + + return val; +} +...
2016 Dec 05
9
[PATCH v8 0/6] Implement qspinlock/pv-qspinlock on ppc
Hi All, this is the fairlock patchset. You can apply them and build successfully. patches are based on linux-next qspinlock can avoid waiter starved issue. It has about the same speed in single-thread and it can be much faster in high contention situations especially when the spinlock is embedded within the data structure to be protected. v7 -> v8: add one patch to drop a function call
2016 Dec 05
9
[PATCH v8 0/6] Implement qspinlock/pv-qspinlock on ppc
Hi All, this is the fairlock patchset. You can apply them and build successfully. patches are based on linux-next qspinlock can avoid waiter starved issue. It has about the same speed in single-thread and it can be much faster in high contention situations especially when the spinlock is embedded within the data structure to be protected. v7 -> v8: add one patch to drop a function call
2016 Dec 06
6
[PATCH v9 0/6] Implement qspinlock/pv-qspinlock on ppc
Hi All, this is the fairlock patchset. You can apply them and build successfully. patches are based on linux-next qspinlock can avoid waiter starved issue. It has about the same speed in single-thread and it can be much faster in high contention situations especially when the spinlock is embedded within the data structure to be protected. v8 -> v9: mv qspinlocm config entry to
2016 Dec 06
6
[PATCH v9 0/6] Implement qspinlock/pv-qspinlock on ppc
Hi All, this is the fairlock patchset. You can apply them and build successfully. patches are based on linux-next qspinlock can avoid waiter starved issue. It has about the same speed in single-thread and it can be much faster in high contention situations especially when the spinlock is embedded within the data structure to be protected. v8 -> v9: mv qspinlocm config entry to