Patchwork [Natty,SRU] ips: use interruptible waits in ips-monitor

login
register
mail settings
Submitter Leann Ogasawara
Date May 23, 2011, 4:46 p.m.
Message ID <1306169219.1548.15.camel@adamo>
Download mbox | patch
Permalink /patch/97013/
State New
Headers show

Pull-request

git://kernel.ubuntu.com/ogasawara/ubuntu-natty.git lp765082

Comments

Leann Ogasawara - May 23, 2011, 4:46 p.m.
Hi,

Please consider the following patch for Natty SRU.  It has been
confirmed to resolve LP bug 765082.  I've also submitted it to upstream
stable for 2.6.38.y but it is still waiting to get accepted.

Thanks,
Leann 

SRU Justification:

Impact: ips-monitor is in 'D' state continuously and produces a constant
load of 1

Fix: upstream commit a3424216e4935221fdaa5ca3c26e024f11297164

Test case: Boot a kernel with the patch applied and confirm ips-monitor
is no loner is a 'D' state and load drops below 1.

The following changes since commit 4a93549299ec1b4b5c137449a13b5efd535487d9:
  Greg Kroah-Hartman (1):
        Linux 2.6.38.6

are available in the git repository at:

  git://kernel.ubuntu.com/ogasawara/ubuntu-natty.git lp765082

Jesse Barnes (1):
      ips: use interruptible waits in ips-monitor

 drivers/platform/x86/intel_ips.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

From 727d78d90d2a337ef124a41524493cdd5a540094 Mon Sep 17 00:00:00 2001
From: Jesse Barnes <jbarnes@virtuousgeek.org>
Date: Mon, 28 Mar 2011 06:36:30 -0400
Subject: [PATCH] ips: use interruptible waits in ips-monitor

BugLink: https://bugs.launchpad.net/ubuntu/+bug/765082

This is what I intended to do since:
  1) the driver handles variable waits just fine, and
  2) interruptible waits aren't reported as load in the load avg.

Reported-and-tested-by: Andreas Hartmann <andihartmann@freenet.de>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
(cherry picked from commit a3424216e4935221fdaa5ca3c26e024f11297164)

Signed-off-by: Leann Ogasawara <leann.ogasawara@canonical.com>
---
 drivers/platform/x86/intel_ips.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
John Johansen - May 23, 2011, 6:48 p.m.
On 05/23/2011 09:46 AM, Leann Ogasawara wrote:
> Hi,
> 
> Please consider the following patch for Natty SRU.  It has been
> confirmed to resolve LP bug 765082.  I've also submitted it to upstream
> stable for 2.6.38.y but it is still waiting to get accepted.
> 
> Thanks,
> Leann 
> 
> SRU Justification:
> 
> Impact: ips-monitor is in 'D' state continuously and produces a constant
> load of 1
> 
> Fix: upstream commit a3424216e4935221fdaa5ca3c26e024f11297164
> 
> Test case: Boot a kernel with the patch applied and confirm ips-monitor
> is no loner is a 'D' state and load drops below 1.
> 
> The following changes since commit 4a93549299ec1b4b5c137449a13b5efd535487d9:
>   Greg Kroah-Hartman (1):
>         Linux 2.6.38.6
> 
> are available in the git repository at:
> 
>   git://kernel.ubuntu.com/ogasawara/ubuntu-natty.git lp765082
> 
> Jesse Barnes (1):
>       ips: use interruptible waits in ips-monitor
> 
>  drivers/platform/x86/intel_ips.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> From 727d78d90d2a337ef124a41524493cdd5a540094 Mon Sep 17 00:00:00 2001
> From: Jesse Barnes <jbarnes@virtuousgeek.org>
> Date: Mon, 28 Mar 2011 06:36:30 -0400
> Subject: [PATCH] ips: use interruptible waits in ips-monitor
> 
> BugLink: https://bugs.launchpad.net/ubuntu/+bug/765082
> 
> This is what I intended to do since:
>   1) the driver handles variable waits just fine, and
>   2) interruptible waits aren't reported as load in the load avg.
> 
> Reported-and-tested-by: Andreas Hartmann <andihartmann@freenet.de>
> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
> Signed-off-by: Matthew Garrett <mjg@redhat.com>
> (cherry picked from commit a3424216e4935221fdaa5ca3c26e024f11297164)
> 
> Signed-off-by: Leann Ogasawara <leann.ogasawara@canonical.com>
Acked-by: John Johansen <john.johansen@canonical.com>

> ---
>  drivers/platform/x86/intel_ips.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/platform/x86/intel_ips.c b/drivers/platform/x86/intel_ips.c
> index 1294a39..85c8ad4 100644
> --- a/drivers/platform/x86/intel_ips.c
> +++ b/drivers/platform/x86/intel_ips.c
> @@ -1111,7 +1111,7 @@ static int ips_monitor(void *data)
>  		last_msecs = jiffies_to_msecs(jiffies);
>  		expire = jiffies + msecs_to_jiffies(IPS_SAMPLE_PERIOD);
>  
> -		__set_current_state(TASK_UNINTERRUPTIBLE);
> +		__set_current_state(TASK_INTERRUPTIBLE);
>  		mod_timer(&timer, expire);
>  		schedule();
>
Seth Forshee - May 23, 2011, 7:19 p.m.
On Mon, May 23, 2011 at 09:46:59AM -0700, Leann Ogasawara wrote:
> Hi,
> 
> Please consider the following patch for Natty SRU.  It has been
> confirmed to resolve LP bug 765082.  I've also submitted it to upstream
> stable for 2.6.38.y but it is still waiting to get accepted.
> 
> Thanks,
> Leann 
> 
> SRU Justification:
> 
> Impact: ips-monitor is in 'D' state continuously and produces a constant
> load of 1
> 
> Fix: upstream commit a3424216e4935221fdaa5ca3c26e024f11297164
> 
> Test case: Boot a kernel with the patch applied and confirm ips-monitor
> is no loner is a 'D' state and load drops below 1.
> 
> The following changes since commit 4a93549299ec1b4b5c137449a13b5efd535487d9:
>   Greg Kroah-Hartman (1):
>         Linux 2.6.38.6
> 
> are available in the git repository at:
> 
>   git://kernel.ubuntu.com/ogasawara/ubuntu-natty.git lp765082
> 
> Jesse Barnes (1):
>       ips: use interruptible waits in ips-monitor
> 
>  drivers/platform/x86/intel_ips.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> From 727d78d90d2a337ef124a41524493cdd5a540094 Mon Sep 17 00:00:00 2001
> From: Jesse Barnes <jbarnes@virtuousgeek.org>
> Date: Mon, 28 Mar 2011 06:36:30 -0400
> Subject: [PATCH] ips: use interruptible waits in ips-monitor
> 
> BugLink: https://bugs.launchpad.net/ubuntu/+bug/765082
> 
> This is what I intended to do since:
>   1) the driver handles variable waits just fine, and
>   2) interruptible waits aren't reported as load in the load avg.
> 
> Reported-and-tested-by: Andreas Hartmann <andihartmann@freenet.de>
> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
> Signed-off-by: Matthew Garrett <mjg@redhat.com>
> (cherry picked from commit a3424216e4935221fdaa5ca3c26e024f11297164)
> 
> Signed-off-by: Leann Ogasawara <leann.ogasawara@canonical.com>

Acked-by: Seth Forshee <seth.forshee@canonical.com>

> ---
>  drivers/platform/x86/intel_ips.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/platform/x86/intel_ips.c b/drivers/platform/x86/intel_ips.c
> index 1294a39..85c8ad4 100644
> --- a/drivers/platform/x86/intel_ips.c
> +++ b/drivers/platform/x86/intel_ips.c
> @@ -1111,7 +1111,7 @@ static int ips_monitor(void *data)
>  		last_msecs = jiffies_to_msecs(jiffies);
>  		expire = jiffies + msecs_to_jiffies(IPS_SAMPLE_PERIOD);
>  
> -		__set_current_state(TASK_UNINTERRUPTIBLE);
> +		__set_current_state(TASK_INTERRUPTIBLE);
>  		mod_timer(&timer, expire);
>  		schedule();
>  
> -- 
> 1.7.0.4
> 
> 
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
>
Steve Conklin - May 24, 2011, 8:54 p.m.
Applied

On Mon, 2011-05-23 at 09:46 -0700, Leann Ogasawara wrote:
> Hi,
> 
> Please consider the following patch for Natty SRU.  It has been
> confirmed to resolve LP bug 765082.  I've also submitted it to upstream
> stable for 2.6.38.y but it is still waiting to get accepted.
> 
> Thanks,
> Leann 
> 
> SRU Justification:
> 
> Impact: ips-monitor is in 'D' state continuously and produces a constant
> load of 1
> 
> Fix: upstream commit a3424216e4935221fdaa5ca3c26e024f11297164
> 
> Test case: Boot a kernel with the patch applied and confirm ips-monitor
> is no loner is a 'D' state and load drops below 1.
> 
> The following changes since commit 4a93549299ec1b4b5c137449a13b5efd535487d9:
>   Greg Kroah-Hartman (1):
>         Linux 2.6.38.6
> 
> are available in the git repository at:
> 
>   git://kernel.ubuntu.com/ogasawara/ubuntu-natty.git lp765082
> 
> Jesse Barnes (1):
>       ips: use interruptible waits in ips-monitor
> 
>  drivers/platform/x86/intel_ips.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> From 727d78d90d2a337ef124a41524493cdd5a540094 Mon Sep 17 00:00:00 2001
> From: Jesse Barnes <jbarnes@virtuousgeek.org>
> Date: Mon, 28 Mar 2011 06:36:30 -0400
> Subject: [PATCH] ips: use interruptible waits in ips-monitor
> 
> BugLink: https://bugs.launchpad.net/ubuntu/+bug/765082
> 
> This is what I intended to do since:
>   1) the driver handles variable waits just fine, and
>   2) interruptible waits aren't reported as load in the load avg.
> 
> Reported-and-tested-by: Andreas Hartmann <andihartmann@freenet.de>
> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
> Signed-off-by: Matthew Garrett <mjg@redhat.com>
> (cherry picked from commit a3424216e4935221fdaa5ca3c26e024f11297164)
> 
> Signed-off-by: Leann Ogasawara <leann.ogasawara@canonical.com>
> ---
>  drivers/platform/x86/intel_ips.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/platform/x86/intel_ips.c b/drivers/platform/x86/intel_ips.c
> index 1294a39..85c8ad4 100644
> --- a/drivers/platform/x86/intel_ips.c
> +++ b/drivers/platform/x86/intel_ips.c
> @@ -1111,7 +1111,7 @@ static int ips_monitor(void *data)
>  		last_msecs = jiffies_to_msecs(jiffies);
>  		expire = jiffies + msecs_to_jiffies(IPS_SAMPLE_PERIOD);
>  
> -		__set_current_state(TASK_UNINTERRUPTIBLE);
> +		__set_current_state(TASK_INTERRUPTIBLE);
>  		mod_timer(&timer, expire);
>  		schedule();
>  
> -- 
> 1.7.0.4
> 
> 
> 
>

Patch

diff --git a/drivers/platform/x86/intel_ips.c b/drivers/platform/x86/intel_ips.c
index 1294a39..85c8ad4 100644
--- a/drivers/platform/x86/intel_ips.c
+++ b/drivers/platform/x86/intel_ips.c
@@ -1111,7 +1111,7 @@  static int ips_monitor(void *data)
 		last_msecs = jiffies_to_msecs(jiffies);
 		expire = jiffies + msecs_to_jiffies(IPS_SAMPLE_PERIOD);
 
-		__set_current_state(TASK_UNINTERRUPTIBLE);
+		__set_current_state(TASK_INTERRUPTIBLE);
 		mod_timer(&timer, expire);
 		schedule();