[alsa-devel] [PATCH 1/2] sound: Close holes in struct snd_pcm_hw_rule
On a 64-bit system there are two 32-bit holes due to the alignment of 64-bit fields. Reordering things slightly gets rid of those holes, reducing the size of the struct by 17% percent of its original size.
Signed-off-by: Lars-Peter Clausen lars@metafoo.de --- include/sound/pcm.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/sound/pcm.h b/include/sound/pcm.h index 0cb7f3f..d632809 100644 --- a/include/sound/pcm.h +++ b/include/sound/pcm.h @@ -224,9 +224,10 @@ typedef int (*snd_pcm_hw_rule_func_t)(struct snd_pcm_hw_params *params,
struct snd_pcm_hw_rule { unsigned int cond; - snd_pcm_hw_rule_func_t func; int var; int deps[4]; + + snd_pcm_hw_rule_func_t func; void *private; };
On a 64-bit system there is a 32-bit hole in struct snd_pcm_constraint_list and then 32-bit padding at the end. Reordering things slightly gets rid of the hole and padding, reducing the size of the struct by 50% from its original size.
Signed-off-by: Lars-Peter Clausen lars@metafoo.de --- include/sound/pcm.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/sound/pcm.h b/include/sound/pcm.h index d632809..691e7ee 100644 --- a/include/sound/pcm.h +++ b/include/sound/pcm.h @@ -274,8 +274,8 @@ struct snd_pcm_hw_constraint_ratdens { };
struct snd_pcm_hw_constraint_list { - unsigned int count; const unsigned int *list; + unsigned int count; unsigned int mask; };
At Mon, 27 Apr 2015 12:20:29 +0200, Lars-Peter Clausen wrote:
On a 64-bit system there is a 32-bit hole in struct snd_pcm_constraint_list and then 32-bit padding at the end. Reordering things slightly gets rid of the hole and padding, reducing the size of the struct by 50% from its original size.
Signed-off-by: Lars-Peter Clausen lars@metafoo.de
Thanks, applied.
Takashi
include/sound/pcm.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/sound/pcm.h b/include/sound/pcm.h index d632809..691e7ee 100644 --- a/include/sound/pcm.h +++ b/include/sound/pcm.h @@ -274,8 +274,8 @@ struct snd_pcm_hw_constraint_ratdens { };
struct snd_pcm_hw_constraint_list {
- unsigned int count; const unsigned int *list;
- unsigned int count; unsigned int mask;
};
-- 1.8.0
At Mon, 27 Apr 2015 12:20:28 +0200, Lars-Peter Clausen wrote:
On a 64-bit system there are two 32-bit holes due to the alignment of 64-bit fields. Reordering things slightly gets rid of those holes, reducing the size of the struct by 17% percent of its original size.
Signed-off-by: Lars-Peter Clausen lars@metafoo.de
Thanks, applied.
Takashi
include/sound/pcm.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/sound/pcm.h b/include/sound/pcm.h index 0cb7f3f..d632809 100644 --- a/include/sound/pcm.h +++ b/include/sound/pcm.h @@ -224,9 +224,10 @@ typedef int (*snd_pcm_hw_rule_func_t)(struct snd_pcm_hw_params *params,
struct snd_pcm_hw_rule { unsigned int cond;
- snd_pcm_hw_rule_func_t func; int var; int deps[4];
- snd_pcm_hw_rule_func_t func; void *private;
};
-- 1.8.0
participants (2)
-
Lars-Peter Clausen
-
Takashi Iwai