All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86/hwmon: avoid deadlock on CPU removal in pkgtemp
@ 2010-09-13 10:11 ` Jan Beulich
  0 siblings, 0 replies; 8+ messages in thread
From: Jan Beulich @ 2010-09-13 10:11 UTC (permalink / raw)
  To: khali; +Cc: fenghua.yu, lm-sensors, linux-kernel

pkgtemp_device_remove(), holding the list protecting mutex, calls
pkgtemp_device_add(), which itself wants to acquire the same mutex.
Holding the mutex over the entire loop body in pkgtemp_device_remove()
isn't really necessary, as long as the loop gets exited after
processing the matched CPU.

Once exiting the loop after removing an eventual match, there's no
need for using the "safe" list iterator anymore.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>

---
 drivers/hwmon/pkgtemp.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

--- linux-2.6.36-rc4/drivers/hwmon/pkgtemp.c	2010-09-13 08:45:03.000000000 +0200
+++ 2.6.36-rc4-x86-pkgtemp-remove-deadlock/drivers/hwmon/pkgtemp.c	2010-09-03 17:54:30.000000000 +0200
@@ -339,17 +339,18 @@ exit:
 #ifdef CONFIG_HOTPLUG_CPU
 static void pkgtemp_device_remove(unsigned int cpu)
 {
-	struct pdev_entry *p, *n;
+	struct pdev_entry *p;
 	unsigned int i;
 	int err;
 
 	mutex_lock(&pdev_list_mutex);
-	list_for_each_entry_safe(p, n, &pdev_list, list) {
+	list_for_each_entry(p, &pdev_list, list) {
 		if (p->cpu != cpu)
 			continue;
 
 		platform_device_unregister(p->pdev);
 		list_del(&p->list);
+		mutex_unlock(&pdev_list_mutex);
 		kfree(p);
 		for_each_cpu(i, cpu_core_mask(cpu)) {
 			if (i != cpu) {
@@ -358,7 +359,7 @@ static void pkgtemp_device_remove(unsign
 					break;
 			}
 		}
-		break;
+		return;
 	}
 	mutex_unlock(&pdev_list_mutex);
 }




^ permalink raw reply	[flat|nested] 8+ messages in thread

* [lm-sensors] [PATCH] x86/hwmon: avoid deadlock on CPU removal in
@ 2010-09-13 10:11 ` Jan Beulich
  0 siblings, 0 replies; 8+ messages in thread
From: Jan Beulich @ 2010-09-13 10:11 UTC (permalink / raw)
  To: khali; +Cc: fenghua.yu, lm-sensors, linux-kernel

pkgtemp_device_remove(), holding the list protecting mutex, calls
pkgtemp_device_add(), which itself wants to acquire the same mutex.
Holding the mutex over the entire loop body in pkgtemp_device_remove()
isn't really necessary, as long as the loop gets exited after
processing the matched CPU.

Once exiting the loop after removing an eventual match, there's no
need for using the "safe" list iterator anymore.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>

---
 drivers/hwmon/pkgtemp.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

--- linux-2.6.36-rc4/drivers/hwmon/pkgtemp.c	2010-09-13 08:45:03.000000000 +0200
+++ 2.6.36-rc4-x86-pkgtemp-remove-deadlock/drivers/hwmon/pkgtemp.c	2010-09-03 17:54:30.000000000 +0200
@@ -339,17 +339,18 @@ exit:
 #ifdef CONFIG_HOTPLUG_CPU
 static void pkgtemp_device_remove(unsigned int cpu)
 {
-	struct pdev_entry *p, *n;
+	struct pdev_entry *p;
 	unsigned int i;
 	int err;
 
 	mutex_lock(&pdev_list_mutex);
-	list_for_each_entry_safe(p, n, &pdev_list, list) {
+	list_for_each_entry(p, &pdev_list, list) {
 		if (p->cpu != cpu)
 			continue;
 
 		platform_device_unregister(p->pdev);
 		list_del(&p->list);
+		mutex_unlock(&pdev_list_mutex);
 		kfree(p);
 		for_each_cpu(i, cpu_core_mask(cpu)) {
 			if (i != cpu) {
@@ -358,7 +359,7 @@ static void pkgtemp_device_remove(unsign
 					break;
 			}
 		}
-		break;
+		return;
 	}
 	mutex_unlock(&pdev_list_mutex);
 }




_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] x86/hwmon: avoid deadlock on CPU removal in pkgtemp
  2010-09-13 10:11 ` [lm-sensors] [PATCH] x86/hwmon: avoid deadlock on CPU removal in Jan Beulich
@ 2010-09-15  0:13   ` Fenghua Yu
  -1 siblings, 0 replies; 8+ messages in thread
From: Fenghua Yu @ 2010-09-15  0:13 UTC (permalink / raw)
  To: Jan Beulich; +Cc: khali, Yu, Fenghua, lm-sensors, linux-kernel

On Mon, Sep 13, 2010 at 03:11:05AM -0700, Jan Beulich wrote:
> pkgtemp_device_remove(), holding the list protecting mutex, calls
> pkgtemp_device_add(), which itself wants to acquire the same mutex.
> Holding the mutex over the entire loop body in pkgtemp_device_remove()
> isn't really necessary, as long as the loop gets exited after
> processing the matched CPU.
> 
> Once exiting the loop after removing an eventual match, there's no
> need for using the "safe" list iterator anymore.
> 
> Signed-off-by: Jan Beulich <jbeulich@novell.com>
> Cc: Fenghua Yu <fenghua.yu@intel.com>
> 
> ---
>  drivers/hwmon/pkgtemp.c |    7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> --- linux-2.6.36-rc4/drivers/hwmon/pkgtemp.c	2010-09-13 08:45:03.000000000 +0200
> +++ 2.6.36-rc4-x86-pkgtemp-remove-deadlock/drivers/hwmon/pkgtemp.c	2010-09-03 17:54:30.000000000 +0200
> @@ -339,17 +339,18 @@ exit:
>  #ifdef CONFIG_HOTPLUG_CPU
>  static void pkgtemp_device_remove(unsigned int cpu)

I already sent a  fix patch before. I'll push it to Linus.

Thanks.

-Fenghua

From: Fenghua Yu <fenghua.yu@intel.com>

When a sibling is added to dev_list after a cpu is hot-removed, pdev_list_mutex
has been locked already. But pkgtemp_device_add() tries to lock pdev_list_mutex
again. This is incorrect. The patch fixes this issue.

The patch also removes __cpuinit for pkgtemp_device_add() to avoid section
mismatch warning.

Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
---
 drivers/hwmon/pkgtemp.c |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/drivers/hwmon/pkgtemp.c b/drivers/hwmon/pkgtemp.c
index 74157fc..928a016 100644
--- a/drivers/hwmon/pkgtemp.c
+++ b/drivers/hwmon/pkgtemp.c
@@ -276,7 +276,7 @@ struct pdev_entry {
 static LIST_HEAD(pdev_list);
 static DEFINE_MUTEX(pdev_list_mutex);
 
-static int __cpuinit pkgtemp_device_add(unsigned int cpu)
+static int pkgtemp_device_add(unsigned int cpu)
 {
 	int err;
 	struct platform_device *pdev;
@@ -341,26 +341,34 @@ static void pkgtemp_device_remove(unsigned int cpu)
 {
 	struct pdev_entry *p, *n;
 	unsigned int i;
-	int err;
 
-	mutex_lock(&pdev_list_mutex);
 	list_for_each_entry_safe(p, n, &pdev_list, list) {
 		if (p->cpu != cpu)
 			continue;
 
+		mutex_lock(&pdev_list_mutex);
 		platform_device_unregister(p->pdev);
 		list_del(&p->list);
 		kfree(p);
+		mutex_unlock(&pdev_list_mutex);
+		/*
+		 * Select one of removed cpu's siblings to represent sensor
+		 * for this package.
+		 * If there is no more running sibling in a package, the
+		 * package sensor for this package is not available to user
+		 * space any more.
+		 */
 		for_each_cpu(i, cpu_core_mask(cpu)) {
+			int err;
+
 			if (i != cpu) {
 				err = pkgtemp_device_add(i);
 				if (!err)
 					break;
 			}
 		}
-		break;
+		return;
 	}
-	mutex_unlock(&pdev_list_mutex);
 }
 
 static int __cpuinit pkgtemp_cpu_callback(struct notifier_block *nfb,
-- 
1.6.0.3


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [lm-sensors] [PATCH] x86/hwmon: avoid deadlock on CPU removal
@ 2010-09-15  0:13   ` Fenghua Yu
  0 siblings, 0 replies; 8+ messages in thread
From: Fenghua Yu @ 2010-09-15  0:13 UTC (permalink / raw)
  To: Jan Beulich; +Cc: khali, Yu, Fenghua, lm-sensors, linux-kernel

On Mon, Sep 13, 2010 at 03:11:05AM -0700, Jan Beulich wrote:
> pkgtemp_device_remove(), holding the list protecting mutex, calls
> pkgtemp_device_add(), which itself wants to acquire the same mutex.
> Holding the mutex over the entire loop body in pkgtemp_device_remove()
> isn't really necessary, as long as the loop gets exited after
> processing the matched CPU.
> 
> Once exiting the loop after removing an eventual match, there's no
> need for using the "safe" list iterator anymore.
> 
> Signed-off-by: Jan Beulich <jbeulich@novell.com>
> Cc: Fenghua Yu <fenghua.yu@intel.com>
> 
> ---
>  drivers/hwmon/pkgtemp.c |    7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> --- linux-2.6.36-rc4/drivers/hwmon/pkgtemp.c	2010-09-13 08:45:03.000000000 +0200
> +++ 2.6.36-rc4-x86-pkgtemp-remove-deadlock/drivers/hwmon/pkgtemp.c	2010-09-03 17:54:30.000000000 +0200
> @@ -339,17 +339,18 @@ exit:
>  #ifdef CONFIG_HOTPLUG_CPU
>  static void pkgtemp_device_remove(unsigned int cpu)

I already sent a  fix patch before. I'll push it to Linus.

Thanks.

-Fenghua

From: Fenghua Yu <fenghua.yu@intel.com>

When a sibling is added to dev_list after a cpu is hot-removed, pdev_list_mutex
has been locked already. But pkgtemp_device_add() tries to lock pdev_list_mutex
again. This is incorrect. The patch fixes this issue.

The patch also removes __cpuinit for pkgtemp_device_add() to avoid section
mismatch warning.

Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
---
 drivers/hwmon/pkgtemp.c |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/drivers/hwmon/pkgtemp.c b/drivers/hwmon/pkgtemp.c
index 74157fc..928a016 100644
--- a/drivers/hwmon/pkgtemp.c
+++ b/drivers/hwmon/pkgtemp.c
@@ -276,7 +276,7 @@ struct pdev_entry {
 static LIST_HEAD(pdev_list);
 static DEFINE_MUTEX(pdev_list_mutex);
 
-static int __cpuinit pkgtemp_device_add(unsigned int cpu)
+static int pkgtemp_device_add(unsigned int cpu)
 {
 	int err;
 	struct platform_device *pdev;
@@ -341,26 +341,34 @@ static void pkgtemp_device_remove(unsigned int cpu)
 {
 	struct pdev_entry *p, *n;
 	unsigned int i;
-	int err;
 
-	mutex_lock(&pdev_list_mutex);
 	list_for_each_entry_safe(p, n, &pdev_list, list) {
 		if (p->cpu != cpu)
 			continue;
 
+		mutex_lock(&pdev_list_mutex);
 		platform_device_unregister(p->pdev);
 		list_del(&p->list);
 		kfree(p);
+		mutex_unlock(&pdev_list_mutex);
+		/*
+		 * Select one of removed cpu's siblings to represent sensor
+		 * for this package.
+		 * If there is no more running sibling in a package, the
+		 * package sensor for this package is not available to user
+		 * space any more.
+		 */
 		for_each_cpu(i, cpu_core_mask(cpu)) {
+			int err;
+
 			if (i != cpu) {
 				err = pkgtemp_device_add(i);
 				if (!err)
 					break;
 			}
 		}
-		break;
+		return;
 	}
-	mutex_unlock(&pdev_list_mutex);
 }
 
 static int __cpuinit pkgtemp_cpu_callback(struct notifier_block *nfb,
-- 
1.6.0.3


_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [lm-sensors] [PATCH] x86/hwmon: avoid deadlock on CPU removal in pkgtemp
  2010-09-15  0:13   ` [lm-sensors] [PATCH] x86/hwmon: avoid deadlock on CPU removal Fenghua Yu
@ 2010-09-15  1:59     ` Guenter Roeck
  -1 siblings, 0 replies; 8+ messages in thread
From: Guenter Roeck @ 2010-09-15  1:59 UTC (permalink / raw)
  To: Fenghua Yu; +Cc: Jan Beulich, linux-kernel, lm-sensors

On Tue, Sep 14, 2010 at 08:13:00PM -0400, Fenghua Yu wrote:
> On Mon, Sep 13, 2010 at 03:11:05AM -0700, Jan Beulich wrote:
> > pkgtemp_device_remove(), holding the list protecting mutex, calls
> > pkgtemp_device_add(), which itself wants to acquire the same mutex.
> > Holding the mutex over the entire loop body in pkgtemp_device_remove()
> > isn't really necessary, as long as the loop gets exited after
> > processing the matched CPU.
> > 
> > Once exiting the loop after removing an eventual match, there's no
> > need for using the "safe" list iterator anymore.
> > 
> > Signed-off-by: Jan Beulich <jbeulich@novell.com>
> > Cc: Fenghua Yu <fenghua.yu@intel.com>
> > 
> > ---
> >  drivers/hwmon/pkgtemp.c |    7 ++++---
> >  1 file changed, 4 insertions(+), 3 deletions(-)
> > 
> > --- linux-2.6.36-rc4/drivers/hwmon/pkgtemp.c	2010-09-13 08:45:03.000000000 +0200
> > +++ 2.6.36-rc4-x86-pkgtemp-remove-deadlock/drivers/hwmon/pkgtemp.c	2010-09-03 17:54:30.000000000 +0200
> > @@ -339,17 +339,18 @@ exit:
> >  #ifdef CONFIG_HOTPLUG_CPU
> >  static void pkgtemp_device_remove(unsigned int cpu)
> 
> I already sent a  fix patch before. I'll push it to Linus.
> 
Guess it got lost. Re-sending it might have helped, or adding an Acked-by to this patch.

Guenter

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [lm-sensors] [PATCH] x86/hwmon: avoid deadlock on CPU removal
@ 2010-09-15  1:59     ` Guenter Roeck
  0 siblings, 0 replies; 8+ messages in thread
From: Guenter Roeck @ 2010-09-15  1:59 UTC (permalink / raw)
  To: Fenghua Yu; +Cc: Jan Beulich, linux-kernel, lm-sensors

On Tue, Sep 14, 2010 at 08:13:00PM -0400, Fenghua Yu wrote:
> On Mon, Sep 13, 2010 at 03:11:05AM -0700, Jan Beulich wrote:
> > pkgtemp_device_remove(), holding the list protecting mutex, calls
> > pkgtemp_device_add(), which itself wants to acquire the same mutex.
> > Holding the mutex over the entire loop body in pkgtemp_device_remove()
> > isn't really necessary, as long as the loop gets exited after
> > processing the matched CPU.
> > 
> > Once exiting the loop after removing an eventual match, there's no
> > need for using the "safe" list iterator anymore.
> > 
> > Signed-off-by: Jan Beulich <jbeulich@novell.com>
> > Cc: Fenghua Yu <fenghua.yu@intel.com>
> > 
> > ---
> >  drivers/hwmon/pkgtemp.c |    7 ++++---
> >  1 file changed, 4 insertions(+), 3 deletions(-)
> > 
> > --- linux-2.6.36-rc4/drivers/hwmon/pkgtemp.c	2010-09-13 08:45:03.000000000 +0200
> > +++ 2.6.36-rc4-x86-pkgtemp-remove-deadlock/drivers/hwmon/pkgtemp.c	2010-09-03 17:54:30.000000000 +0200
> > @@ -339,17 +339,18 @@ exit:
> >  #ifdef CONFIG_HOTPLUG_CPU
> >  static void pkgtemp_device_remove(unsigned int cpu)
> 
> I already sent a  fix patch before. I'll push it to Linus.
> 
Guess it got lost. Re-sending it might have helped, or adding an Acked-by to this patch.

Guenter

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] x86/hwmon: avoid deadlock on CPU removal in pkgtemp
  2010-09-15  0:13   ` [lm-sensors] [PATCH] x86/hwmon: avoid deadlock on CPU removal Fenghua Yu
@ 2010-09-15  7:35     ` Jan Beulich
  -1 siblings, 0 replies; 8+ messages in thread
From: Jan Beulich @ 2010-09-15  7:35 UTC (permalink / raw)
  To: Fenghua Yu; +Cc: khali, lm-sensors, linux-kernel

>>> On 15.09.10 at 02:13, Fenghua Yu <fenghua.yu@intel.com> wrote:
> From: Fenghua Yu <fenghua.yu@intel.com>
> 
> When a sibling is added to dev_list after a cpu is hot-removed, 
> pdev_list_mutex
> has been locked already. But pkgtemp_device_add() tries to lock 
> pdev_list_mutex
> again. This is incorrect. The patch fixes this issue.
> 
> The patch also removes __cpuinit for pkgtemp_device_add() to avoid section
> mismatch warning.

But that the wrong direction of a change - __cpuinit should be added
to pkgtemp_device_remove() instead.

> Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
> ---
>  drivers/hwmon/pkgtemp.c |   18 +++++++++++++-----
>  1 files changed, 13 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/hwmon/pkgtemp.c b/drivers/hwmon/pkgtemp.c
> index 74157fc..928a016 100644
> --- a/drivers/hwmon/pkgtemp.c
> +++ b/drivers/hwmon/pkgtemp.c
> @@ -276,7 +276,7 @@ struct pdev_entry {
>  static LIST_HEAD(pdev_list);
>  static DEFINE_MUTEX(pdev_list_mutex);
>  
> -static int __cpuinit pkgtemp_device_add(unsigned int cpu)
> +static int pkgtemp_device_add(unsigned int cpu)
>  {
>  	int err;
>  	struct platform_device *pdev;
> @@ -341,26 +341,34 @@ static void pkgtemp_device_remove(unsigned int cpu)
>  {
>  	struct pdev_entry *p, *n;
>  	unsigned int i;
> -	int err;
>  
> -	mutex_lock(&pdev_list_mutex);
>  	list_for_each_entry_safe(p, n, &pdev_list, list) {
>  		if (p->cpu != cpu)
>  			continue;
>  
> +		mutex_lock(&pdev_list_mutex);
>  		platform_device_unregister(p->pdev);
>  		list_del(&p->list);
>  		kfree(p);
> +		mutex_unlock(&pdev_list_mutex);

While probably not very important, it's nevertheless unclear why you
need to do the kfree() with the mutex held.

Jan

> +		/*
> +		 * Select one of removed cpu's siblings to represent sensor
> +		 * for this package.
> +		 * If there is no more running sibling in a package, the
> +		 * package sensor for this package is not available to user
> +		 * space any more.
> +		 */
>  		for_each_cpu(i, cpu_core_mask(cpu)) {
> +			int err;
> +
>  			if (i != cpu) {
>  				err = pkgtemp_device_add(i);
>  				if (!err)
>  					break;
>  			}
>  		}
> -		break;
> +		return;
>  	}
> -	mutex_unlock(&pdev_list_mutex);
>  }
>  
>  static int __cpuinit pkgtemp_cpu_callback(struct notifier_block *nfb,



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [lm-sensors] [PATCH] x86/hwmon: avoid deadlock on CPU removal
@ 2010-09-15  7:35     ` Jan Beulich
  0 siblings, 0 replies; 8+ messages in thread
From: Jan Beulich @ 2010-09-15  7:35 UTC (permalink / raw)
  To: Fenghua Yu; +Cc: khali, lm-sensors, linux-kernel

>>> On 15.09.10 at 02:13, Fenghua Yu <fenghua.yu@intel.com> wrote:
> From: Fenghua Yu <fenghua.yu@intel.com>
> 
> When a sibling is added to dev_list after a cpu is hot-removed, 
> pdev_list_mutex
> has been locked already. But pkgtemp_device_add() tries to lock 
> pdev_list_mutex
> again. This is incorrect. The patch fixes this issue.
> 
> The patch also removes __cpuinit for pkgtemp_device_add() to avoid section
> mismatch warning.

But that the wrong direction of a change - __cpuinit should be added
to pkgtemp_device_remove() instead.

> Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
> ---
>  drivers/hwmon/pkgtemp.c |   18 +++++++++++++-----
>  1 files changed, 13 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/hwmon/pkgtemp.c b/drivers/hwmon/pkgtemp.c
> index 74157fc..928a016 100644
> --- a/drivers/hwmon/pkgtemp.c
> +++ b/drivers/hwmon/pkgtemp.c
> @@ -276,7 +276,7 @@ struct pdev_entry {
>  static LIST_HEAD(pdev_list);
>  static DEFINE_MUTEX(pdev_list_mutex);
>  
> -static int __cpuinit pkgtemp_device_add(unsigned int cpu)
> +static int pkgtemp_device_add(unsigned int cpu)
>  {
>  	int err;
>  	struct platform_device *pdev;
> @@ -341,26 +341,34 @@ static void pkgtemp_device_remove(unsigned int cpu)
>  {
>  	struct pdev_entry *p, *n;
>  	unsigned int i;
> -	int err;
>  
> -	mutex_lock(&pdev_list_mutex);
>  	list_for_each_entry_safe(p, n, &pdev_list, list) {
>  		if (p->cpu != cpu)
>  			continue;
>  
> +		mutex_lock(&pdev_list_mutex);
>  		platform_device_unregister(p->pdev);
>  		list_del(&p->list);
>  		kfree(p);
> +		mutex_unlock(&pdev_list_mutex);

While probably not very important, it's nevertheless unclear why you
need to do the kfree() with the mutex held.

Jan

> +		/*
> +		 * Select one of removed cpu's siblings to represent sensor
> +		 * for this package.
> +		 * If there is no more running sibling in a package, the
> +		 * package sensor for this package is not available to user
> +		 * space any more.
> +		 */
>  		for_each_cpu(i, cpu_core_mask(cpu)) {
> +			int err;
> +
>  			if (i != cpu) {
>  				err = pkgtemp_device_add(i);
>  				if (!err)
>  					break;
>  			}
>  		}
> -		break;
> +		return;
>  	}
> -	mutex_unlock(&pdev_list_mutex);
>  }
>  
>  static int __cpuinit pkgtemp_cpu_callback(struct notifier_block *nfb,



_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-09-15  7:35 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-13 10:11 [PATCH] x86/hwmon: avoid deadlock on CPU removal in pkgtemp Jan Beulich
2010-09-13 10:11 ` [lm-sensors] [PATCH] x86/hwmon: avoid deadlock on CPU removal in Jan Beulich
2010-09-15  0:13 ` [PATCH] x86/hwmon: avoid deadlock on CPU removal in pkgtemp Fenghua Yu
2010-09-15  0:13   ` [lm-sensors] [PATCH] x86/hwmon: avoid deadlock on CPU removal Fenghua Yu
2010-09-15  1:59   ` [lm-sensors] [PATCH] x86/hwmon: avoid deadlock on CPU removal in pkgtemp Guenter Roeck
2010-09-15  1:59     ` [lm-sensors] [PATCH] x86/hwmon: avoid deadlock on CPU removal Guenter Roeck
2010-09-15  7:35   ` [PATCH] x86/hwmon: avoid deadlock on CPU removal in pkgtemp Jan Beulich
2010-09-15  7:35     ` [lm-sensors] [PATCH] x86/hwmon: avoid deadlock on CPU removal Jan Beulich

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.