Messages in this thread | | | Date | Wed, 06 Nov 2013 10:31:47 -0500 | From | Waiman Long <> | Subject | Re: [PATCH v2 4/4] MCS Lock: Make mcs_spinlock.h includable in other files |
| |
On 11/05/2013 02:30 PM, Tim Chen wrote: > On Tue, 2013-11-05 at 19:57 +0100, Peter Zijlstra wrote: >> On Tue, Nov 05, 2013 at 09:42:39AM -0800, Tim Chen wrote: >>> + * The _raw_mcs_spin_lock() function should not be called directly. Instead, >>> + * users should call mcs_spin_lock(). >>> */ >>> -static noinline >>> -void mcs_spin_lock(struct mcs_spinlock **lock, struct mcs_spinlock *node) >>> +static inline >>> +void _raw_mcs_spin_lock(struct mcs_spinlock **lock, struct mcs_spinlock *node) >>> { >>> struct mcs_spinlock *prev; >>> >> So why keep it in the header at all? > I also made the suggestion originally of keeping both lock and unlock in > mcs_spinlock.c. Wonder if Waiman decides to keep them in header > because in-lining the unlock function makes execution a bit faster? > > Tim >
I was following the example of the spinlock code where the lock function is not inlined, but the unlock function is. I have no objection to make them both as non-inlined functions, if you think that is the right move.
Regards, Longman
| |