All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Jesper Juhl <jesper.juhl@gmail.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	linux-mm@kvack.org, Ingo Molnar <mingo@elte.hu>
Subject: Re: [PATCH] leak less memory in failure paths of alloc_rt_sched_group()
Date: Mon, 03 Mar 2008 00:19:52 +0100	[thread overview]
Message-ID: <1204499992.6240.109.camel@lappy> (raw)
In-Reply-To: <alpine.LNX.1.00.0803030002520.4939@dragon.funnycrock.com>


On Mon, 2008-03-03 at 00:09 +0100, Jesper Juhl wrote:
> In kernel/sched.c b/kernel/sched.c::alloc_rt_sched_group() we currently do 
> some paired memory allocations, and if one fails we bail out without 
> freeing the previous one.
> 
> If we fail inside the loop we should proably roll the whole thing back. 
> This patch does not do that, it simply frees the first member of the 
> paired alloc if the second fails. This is not perfect, but it's a simple 
> change that will, at least, result in us leaking a little less than we 
> currently do when an allocation fails.
> 
> So, not perfect, but better than what we currently have.
> Please consider applying.

Doesn't the following handle that:

sched_create_group()
{
...
	if (!alloc_rt_sched_group())
		goto err;
...

err:
	free_sched_group();
}


free_sched_group()
{
...
	free_rt_sched_group();
...
}

free_rt_sched_group()
{
 	free all relevant stuff
}


WARNING: multiple messages have this Message-ID (diff)
From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Jesper Juhl <jesper.juhl@gmail.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	linux-mm@kvack.org, Ingo Molnar <mingo@elte.hu>
Subject: Re: [PATCH] leak less memory in failure paths of alloc_rt_sched_group()
Date: Mon, 03 Mar 2008 00:19:52 +0100	[thread overview]
Message-ID: <1204499992.6240.109.camel@lappy> (raw)
In-Reply-To: <alpine.LNX.1.00.0803030002520.4939@dragon.funnycrock.com>

On Mon, 2008-03-03 at 00:09 +0100, Jesper Juhl wrote:
> In kernel/sched.c b/kernel/sched.c::alloc_rt_sched_group() we currently do 
> some paired memory allocations, and if one fails we bail out without 
> freeing the previous one.
> 
> If we fail inside the loop we should proably roll the whole thing back. 
> This patch does not do that, it simply frees the first member of the 
> paired alloc if the second fails. This is not perfect, but it's a simple 
> change that will, at least, result in us leaking a little less than we 
> currently do when an allocation fails.
> 
> So, not perfect, but better than what we currently have.
> Please consider applying.

Doesn't the following handle that:

sched_create_group()
{
...
	if (!alloc_rt_sched_group())
		goto err;
...

err:
	free_sched_group();
}


free_sched_group()
{
...
	free_rt_sched_group();
...
}

free_rt_sched_group()
{
 	free all relevant stuff
}

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2008-03-02 23:20 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-02 23:09 [PATCH] leak less memory in failure paths of alloc_rt_sched_group() Jesper Juhl
2008-03-02 23:09 ` Jesper Juhl
2008-03-02 23:19 ` Peter Zijlstra [this message]
2008-03-02 23:19   ` Peter Zijlstra
2008-03-02 23:29   ` Jesper Juhl
2008-03-02 23:29     ` Jesper Juhl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1204499992.6240.109.camel@lappy \
    --to=a.p.zijlstra@chello.nl \
    --cc=jesper.juhl@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mingo@elte.hu \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.