Hi,
Avoid reinitializing memory which is already set to zero.
V1->V2: - Don't remove field initializers from 2nd and 3rd patch. - Drop 4th patch (sched: core: drop useless expression from sched_init()).
-- viresh
Viresh Kumar (3): sched: topology: drop memset() from init_rootdomain() sched: cpudeadline: don't re-initialize struct cpudl sched: cpupri: don't re-initialize struct cpupri
kernel/sched/cpudeadline.c | 1 - kernel/sched/cpupri.c | 2 -- kernel/sched/topology.c | 4 +--- 3 files changed, 1 insertion(+), 6 deletions(-)
There are only two callers of init_rootdomain(). One of them passes a global to it and another one sends dynamically allocated root-domain.
There is no need to memset the root-domain in the first case as the structure is already reset.
Update alloc_rootdomain() to allocate the memory with kzalloc() and remove the memset() call from init_rootdomain().
Signed-off-by: Viresh Kumar viresh.kumar@linaro.org --- kernel/sched/topology.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c index 1b0b4fb12837..a2497702e628 100644 --- a/kernel/sched/topology.c +++ b/kernel/sched/topology.c @@ -242,8 +242,6 @@ void rq_attach_root(struct rq *rq, struct root_domain *rd)
static int init_rootdomain(struct root_domain *rd) { - memset(rd, 0, sizeof(*rd)); - if (!zalloc_cpumask_var(&rd->span, GFP_KERNEL)) goto out; if (!zalloc_cpumask_var(&rd->online, GFP_KERNEL)) @@ -292,7 +290,7 @@ static struct root_domain *alloc_rootdomain(void) { struct root_domain *rd;
- rd = kmalloc(sizeof(*rd), GFP_KERNEL); + rd = kzalloc(sizeof(*rd), GFP_KERNEL); if (!rd) return NULL;
The struct cpudl passed to cpudl_init() is already initialized to zero. Don't do that again.
Signed-off-by: Viresh Kumar viresh.kumar@linaro.org --- kernel/sched/cpudeadline.c | 1 - 1 file changed, 1 deletion(-)
diff --git a/kernel/sched/cpudeadline.c b/kernel/sched/cpudeadline.c index fba235c7d026..bdf448b6556f 100644 --- a/kernel/sched/cpudeadline.c +++ b/kernel/sched/cpudeadline.c @@ -246,7 +246,6 @@ int cpudl_init(struct cpudl *cp) { int i;
- memset(cp, 0, sizeof(*cp)); raw_spin_lock_init(&cp->lock); cp->size = 0;
The struct cpupri passed to cpupri_init() is already initialized to zero. Don't do that again.
Signed-off-by: Viresh Kumar viresh.kumar@linaro.org --- kernel/sched/cpupri.c | 2 -- 1 file changed, 2 deletions(-)
diff --git a/kernel/sched/cpupri.c b/kernel/sched/cpupri.c index 981fcd7dc394..2511aba36b89 100644 --- a/kernel/sched/cpupri.c +++ b/kernel/sched/cpupri.c @@ -209,8 +209,6 @@ int cpupri_init(struct cpupri *cp) { int i;
- memset(cp, 0, sizeof(*cp)); - for (i = 0; i < CPUPRI_NR_PRIORITIES; i++) { struct cpupri_vec *vec = &cp->pri_to_cpu[i];
linaro-kernel@lists.linaro.org