Jan Beulich
2012-Aug-07 11:41 UTC
[PATCH] eliminate lock profile pointer from spinlock structure when !LOCK_PROFILE
This pointer is never used for anything, and needlessly increases the memory footprint of various pieces of data. Signed-off-by: Jan Beulich <jbeulich@suse.com> --- a/xen/include/xen/spinlock.h +++ b/xen/include/xen/spinlock.h @@ -115,11 +115,10 @@ extern void spinlock_profile_reset(unsig #else -struct lock_profile { }; struct lock_profile_qhead { }; #define SPIN_LOCK_UNLOCKED \ - { _RAW_SPIN_LOCK_UNLOCKED, 0xfffu, 0, _LOCK_DEBUG, NULL } + { _RAW_SPIN_LOCK_UNLOCKED, 0xfffu, 0, _LOCK_DEBUG } #define DEFINE_SPINLOCK(l) spinlock_t l = SPIN_LOCK_UNLOCKED #define spin_lock_init_prof(s, l) spin_lock_init(&((s)->l)) @@ -133,7 +132,9 @@ typedef struct spinlock { u16 recurse_cpu:12; u16 recurse_cnt:4; struct lock_debug debug; +#ifdef LOCK_PROFILE struct lock_profile *profile; +#endif } spinlock_t; _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Keir Fraser
2012-Aug-07 12:14 UTC
Re: [PATCH] eliminate lock profile pointer from spinlock structure when !LOCK_PROFILE
On 07/08/2012 12:41, "Jan Beulich" <JBeulich@suse.com> wrote:> This pointer is never used for anything, and needlessly increases the > memory footprint of various pieces of data. > > Signed-off-by: Jan Beulich <jbeulich@suse.com>Good catch. Acked-by: Keir Fraser <keir@xen.org>> --- a/xen/include/xen/spinlock.h > +++ b/xen/include/xen/spinlock.h > @@ -115,11 +115,10 @@ extern void spinlock_profile_reset(unsig > > #else > > -struct lock_profile { }; > struct lock_profile_qhead { }; > > #define SPIN_LOCK_UNLOCKED > \ > - { _RAW_SPIN_LOCK_UNLOCKED, 0xfffu, 0, _LOCK_DEBUG, NULL } > + { _RAW_SPIN_LOCK_UNLOCKED, 0xfffu, 0, _LOCK_DEBUG } > #define DEFINE_SPINLOCK(l) spinlock_t l = SPIN_LOCK_UNLOCKED > > #define spin_lock_init_prof(s, l) spin_lock_init(&((s)->l)) > @@ -133,7 +132,9 @@ typedef struct spinlock { > u16 recurse_cpu:12; > u16 recurse_cnt:4; > struct lock_debug debug; > +#ifdef LOCK_PROFILE > struct lock_profile *profile; > +#endif > } spinlock_t; > > > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel