2004-09-16 23:50:32

by Nigel Cunningham

[permalink] [raw]
Subject: [PATCH] Suspend2 Merge: Supress various actions/errors while suspending [1/5]

Patch 1:

Disable the OOM killer while suspend is running.

Regards,

Nigel

diff -ruN linux-2.6.9-rc1/mm/oom_kill.c software-suspend-linux-2.6.9-rc1-rev3/mm/oom_kill.c
--- linux-2.6.9-rc1/mm/oom_kill.c 2004-09-07 21:59:01.000000000 +1000
+++ software-suspend-linux-2.6.9-rc1-rev3/mm/oom_kill.c 2004-09-09 19:36:24.000000000 +1000
@@ -20,6 +20,7 @@
#include <linux/swap.h>
#include <linux/timex.h>
#include <linux/jiffies.h>
+#include <linux/suspend.h>

/* #define DEBUG */

@@ -230,6 +231,10 @@
static unsigned long first, last, count, lastkill;
unsigned long now, since;

+#ifdef CONFIG_SOFTWARE_SUSPEND2
+ if (software_suspend_state & SOFTWARE_SUSPEND_RUNNING)
+ return;
+#endif
spin_lock(&oom_lock);
now = jiffies;
since = now - last;

--
Nigel Cunningham
Pastoral Worker
Christian Reformed Church of Tuggeranong
PO Box 1004, Tuggeranong, ACT 2901

Many today claim to be tolerant. True tolerance, however, can cope with others
being intolerant.


2004-09-17 01:20:19

by Adam Kropelin

[permalink] [raw]
Subject: Re: [PATCH] Suspend2 Merge: Supress various actions/errors while suspending [1/5]

On Fri, Sep 17, 2004 at 09:51:03AM +1000, Nigel Cunningham wrote:
> +#ifdef CONFIG_SOFTWARE_SUSPEND2
> + if (software_suspend_state & SOFTWARE_SUSPEND_RUNNING)
> + return;
> +#endif
> spin_lock(&oom_lock);
> now = jiffies;
> since = now - last;

Any chance you could...

#ifdef CONFIG_SOFTWARE_SUSPEND2
<whatever-it-is-now>
#else
#define software_suspend_state 0
#endif

...and thereby eliminate all the #ifdefs in the main codepaths?

--Adam

2004-09-17 06:14:17

by Nigel Cunningham

[permalink] [raw]
Subject: Re: [PATCH] Suspend2 Merge: Supress various actions/errors while suspending [1/5]

Hi.

On Fri, 2004-09-17 at 12:03, Adam Kropelin wrote:
> On Fri, Sep 17, 2004 at 09:51:03AM +1000, Nigel Cunningham wrote:
> > +#ifdef CONFIG_SOFTWARE_SUSPEND2
> > + if (software_suspend_state & SOFTWARE_SUSPEND_RUNNING)
> > + return;
> > +#endif
> > spin_lock(&oom_lock);
> > now = jiffies;
> > since = now - last;
>
> Any chance you could...
>
> #ifdef CONFIG_SOFTWARE_SUSPEND2
> <whatever-it-is-now>
> #else
> #define software_suspend_state 0
> #endif
>
> ...and thereby eliminate all the #ifdefs in the main codepaths?

Will do.

Thanks for the suggestion.

Nigel
--
Nigel Cunningham
Pastoral Worker
Christian Reformed Church of Tuggeranong
PO Box 1004, Tuggeranong, ACT 2901

Many today claim to be tolerant. True tolerance, however, can cope with others
being intolerant.