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