Ingo Molnar <[email protected]> wrote:
>
> +/*
> + * We inline the unlock functions in the nondebug case:
> + */
> +#if defined(CONFIG_DEBUG_SPINLOCK) || defined(CONFIG_PREEMPT)
> +# define spin_unlock(lock) _spin_unlock(lock)
> +# define read_unlock(lock) _read_unlock(lock)
> +# define write_unlock(lock) _write_unlock(lock)
> +#else
> +# define spin_unlock(lock) __raw_spin_unlock(&(lock)->raw_lock)
> +# define read_unlock(lock) __raw_read_unlock(&(lock)->raw_lock)
> +# define write_unlock(lock) __raw_write_unlock(&(lock)->raw_lock)
> +#endif
>
spin_lock is still uninlined.
static inline __attribute__((always_inline)) struct dentry *dget_parent(struct dentry *dentry)
{
struct dentry *ret;
_spin_lock(&dentry->d_lock);
ret = dget(dentry->d_parent);
__raw_spin_unlock(&(&dentry->d_lock)->raw_lock);
return ret;
}
as is spin_lock_irqsave() and spin_lock_irq()
uninlining spin_lock will probably increase overall text size, but mainly in
the out-of-line section.
<looks>
we removed the out-of-line section :(
read_lock is out-of-line. read_unlock is inlined
write_lock is out-of-line. write_unlock is out-of-line.
Needs work ;)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- References:
- Re: i386 spinlock fairness: bizarre test results
- [PATCH] i386 spinlocks should use the full 32 bits, not only 8 bits
- Re: [PATCH] i386 spinlocks should use the full 32 bits, not only 8 bits
- Re: [PATCH] i386 spinlocks should use the full 32 bits, not only 8 bits
- Re: [PATCH] i386 spinlocks should use the full 32 bits, not only 8 bits
- Re: [PATCH] i386 spinlocks should use the full 32 bits, not only 8 bits
- Re: [PATCH] i386 spinlocks should use the full 32 bits, not only 8 bits
- Re: [PATCH] i386 spinlocks should use the full 32 bits, not only 8 bits
- Re: [PATCH] i386 spinlocks should use the full 32 bits, not only 8 bits
- Re: [PATCH] i386 spinlocks should use the full 32 bits, not only 8 bits
- Re: [PATCH] i386 spinlocks should use the full 32 bits, not only 8 bits
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]