Re: [PATCH] OOM: initialise points variable in out_of_memory()
From: Kurt Garloff
Date: Tue Feb 28 2006 - 09:14:59 EST
Hi Carlos,
On Mon, Feb 27, 2006 at 10:36:25PM +0100, Carlos Martin wrote:
> We didn't initialise points, so the value reported was completely
> random. This doesn't affect the behaviour of the funcion.
Did you observe it?
In the original patch, there is
+static struct task_struct * select_bad_process(unsigned long *ppoints)
{
- unsigned long maxpoints = 0;
struct task_struct *g, *p;
struct task_struct *chosen = NULL;
struct timespec uptime;
+ *ppoints = 0;
And this is called from out_of_memory().
But the constrained_alloc stuff seems to use points before
select_bad_process() is called, so initializing to 0 is a
good idea. I don't remember having see the constrained_alloc
stuff, though, so I either did not look carefully enough or a
merge error happened afterwards.
Thanks for noticing and thanks for sending the fix!
Best,
--
Kurt Garloff, Head Architect Linux, Novell Inc.
Attachment:
pgp00000.pgp
Description: PGP signature