Rusty Russell | 1 Oct 01:01 2008
Picon

[PATCH] x86: clean up speedctep-centrino and reduce cpumask_t usage

1) The #ifdef CONFIG_HOTPLUG_CPU seems unnecessary these days.
2) The loop can simply skip over offline cpus, rather than creating a tmp mask.
3) set_mask is set to either a single cpu or all online cpus in a policy.
   Since it's just used for set_cpus_allowed(), any offline cpus in a policy
   don't matter, so we can just use cpumask_of_cpu() or the policy->cpus.

Note: untested, since I don't have such a system.

Signed-off-by: Rusty Russell <rusty <at> rustcorp.com.au>

diff -r dc205c205c8a arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c
--- a/arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c	Sun Sep 28 18:04:20 2008 +1000
+++ b/arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c	Sun Sep 28 18:05:58 2008 +1000
 <at>  <at>  -459,9 +459,7  <at>  <at>  static int centrino_verify (struct cpufr
  * Sets a new CPUFreq policy.
  */
 struct allmasks {
-	cpumask_t		online_policy_cpus;
 	cpumask_t		saved_mask;
-	cpumask_t		set_mask;
 	cpumask_t		covered_cpus;
 };

 <at>  <at>  -475,9 +473,7  <at>  <at>  static int centrino_target (struct cpufr
 	int			retval = 0;
 	unsigned int		j, k, first_cpu, tmp;
 	CPUMASK_ALLOC(allmasks);
-	CPUMASK_PTR(online_policy_cpus, allmasks);
 	CPUMASK_PTR(saved_mask, allmasks);
-	CPUMASK_PTR(set_mask, allmasks);
(Continue reading)

Yinghai Lu | 1 Oct 01:08 2008

Re: [PATCH] x86: remove noop cpus_and() with CPU_MASK_ALL.

On Tue, Sep 30, 2008 at 3:59 PM, Rusty Russell <rusty <at> rustcorp.com.au> wrote:
> I'm not sure what this is supposed to do.
>
> Signed-off-by: Rusty Russell <rusty <at> rustcorp.com.au>
>
> diff -r 52e0cb95ef98 arch/x86/kernel/io_apic_32.c
> --- a/arch/x86/kernel/io_apic_32.c      Sat Sep 06 15:18:06 2008 +1000
> +++ b/arch/x86/kernel/io_apic_32.c      Thu Sep 18 14:30:01 2008 +1000

can you check tip/master?

http://people.redhat.com/mingo/tip.git/readme.txt

we merged io_apic_32.c and io_apic_64.c to io_apic.c for 2.6.28
also make 32bit to use per-cpu vector....

YH
H. Peter Anvin | 1 Oct 01:11 2008

Re: [PATCH] x86: mtrr_cleanup update command line and doc mtrr-cleanup-debug v2

Yinghai Lu wrote:
> change enable_mtrr_cleanup to mtrr-cleanup, disable_mtrr_cleanup to nomtrr-cleanup.
> so doc mtrr-cleanup-debug.
> 
> v2: some _ to -
> 
> and change MTRR_SANITIZER to def_bool y

Could you split that into two patches, please?

	-hpa
Yinghai Lu | 1 Oct 01:13 2008

Re: [PATCH] x86: mtrr_cleanup update command line and doc mtrr-cleanup-debug v2

On Tue, Sep 30, 2008 at 4:11 PM, H. Peter Anvin <hpa <at> zytor.com> wrote:
> Yinghai Lu wrote:
>>
>> change enable_mtrr_cleanup to mtrr-cleanup, disable_mtrr_cleanup to
>> nomtrr-cleanup.
>> so doc mtrr-cleanup-debug.
>>
>> v2: some _ to -
>>
>> and change MTRR_SANITIZER to def_bool y
>
> Could you split that into two patches, please?
>
will split into three.

YH
Elias Oltmanns | 1 Oct 01:19 2008
Picon

Block: Fix blk_start_queueing() so as not to process a stopped queue

Especially since blk_start_queueing() is used as the unplug_fn() callback
by the cfq scheduler, we'd better make it behave like a proper unplug
function. That is to say, return immediately if the queue is stopped.

Cc: stable <stable <at> kernel.org>
Signed-off-by: Elias Oltmanns <eo <at> nebensachen.de>
---
This is not a recent regression, so it might not be accepted as an rc
fix. However, it most definitely is a bug and should go into a stable
release. Applies to 2.6.27-rc8.

 block/blk-core.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/block/blk-core.c b/block/blk-core.c
index 2cba5ef..f9a0bfb 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
 <at>  <at>  -888,9 +888,11  <at>  <at>  EXPORT_SYMBOL(blk_get_request);
  */
 void blk_start_queueing(struct request_queue *q)
 {
-	if (!blk_queue_plugged(q))
+	if (!blk_queue_plugged(q)) {
+		if (unlikely(blk_queue_stopped(q)))
+			return;
 		q->request_fn(q);
-	else
+	} else
 		__generic_unplug_device(q);
(Continue reading)

Gary Hade | 1 Oct 01:29 2008
Picon

Re: [PATCH] mm: show node to memory section relationship with symlinks in sysfs

On Tue, Sep 30, 2008 at 05:06:08PM +0900, Yasunori Goto wrote:
> 
> > +#ifdef CONFIG_MEMORY_HOTPLUG_SPARSE
> > +int register_mem_sect_under_node(struct memory_block *mem_blk)
>         :
> 
> I think this patch is convenience even when memory hotplug is disabled.
> CONFIG_SPARSEMEM seems better than CONFIG_MEMORY_HOTPLUG_SPARSE.

Yes, this would be nice but unfortunately the presence of the
memory section directories that are referenced by the symlinks
also depend on CONFIG_MEMORY_HOTPLUG_SPARSE being enabled.  Removal
of the memory hotplug dependency for the code in drivers/base/memory.c
will require more than a simple CONFIG_MEMORY_HOTPLUG_SPARSE to
CONFIG_SPARSEMEM dependency change.  I am still looking at this.

Thanks for the review and testing.

Gary

--

-- 
Gary Hade
System x Enablement
IBM Linux Technology Center
503-578-4503  IBM T/L: 775-4503
garyhade <at> us.ibm.com
http://www.ibm.com/linux/ltc
Yinghai Lu | 1 Oct 01:29 2008
Picon

[PATCH 1/3] x86: mtrr_cleanup update command line

change enable_mtrr_cleanup to mtrr-cleanup, disable_mtrr_cleanup to nomtrr-cleanup.

Signed-off-by: Yinghai Lu <yhlu.kernel <at> gmail.com>

---
 Documentation/kernel-parameters.txt |    4 ++--
 arch/x86/Kconfig                    |    2 +-
 arch/x86/kernel/cpu/mtrr/main.c     |    4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

Index: linux-2.6/Documentation/kernel-parameters.txt
===================================================================
--- linux-2.6.orig/Documentation/kernel-parameters.txt
+++ linux-2.6/Documentation/kernel-parameters.txt
 <at>  <at>  -614,8 +614,8  <at>  <at>  and is between 256 and 4096 characters.
 			See drivers/char/README.epca and
 			Documentation/digiepca.txt.

-	disable_mtrr_cleanup [X86]
-	enable_mtrr_cleanup [X86]
+	nomtrr-cleanup [X86]
+	mtrr-cleanup [X86]
 			The kernel tries to adjust MTRR layout from continuous
 			to discrete, to make X server driver able to add WB
 			entry later. This parameter enables/disables that.
Index: linux-2.6/arch/x86/Kconfig
===================================================================
--- linux-2.6.orig/arch/x86/Kconfig
+++ linux-2.6/arch/x86/Kconfig
 <at>  <at>  -1250,7 +1250,7  <at>  <at>  config MTRR_SANITIZER
(Continue reading)

Yinghai Lu | 1 Oct 01:29 2008
Picon

[PATCH 2/3] x86: doc mtrr-cleanup-debug

doc mtrr-cleanup-debug.

Signed-off-by: Yinghai Lu <yhlu.kernel <at> gmail.com>

---
 Documentation/kernel-parameters.txt |    3 +++
 arch/x86/kernel/cpu/mtrr/main.c     |    2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

Index: linux-2.6/Documentation/kernel-parameters.txt
===================================================================
--- linux-2.6.orig/Documentation/kernel-parameters.txt
+++ linux-2.6/Documentation/kernel-parameters.txt
 <at>  <at>  -620,6 +620,9  <at>  <at>  and is between 256 and 4096 characters.
 			to discrete, to make X server driver able to add WB
 			entry later. This parameter enables/disables that.

+	mtrr-cleanup-debug [X86]
+			print out more debug info for mtrr cleanup.
+
 	mtrr_chunk_size=nn[KMG] [X86]
 			used for mtrr cleanup. It is largest continous chunk
 			that could hold holes aka. UC entries.
Index: linux-2.6/arch/x86/kernel/cpu/mtrr/main.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/cpu/mtrr/main.c
+++ linux-2.6/arch/x86/kernel/cpu/mtrr/main.c
 <at>  <at>  -841,7 +841,7  <at>  <at>  static int __init mtrr_cleanup_debug_set
 	debug_print = 1;
 	return 0;
(Continue reading)

Yinghai Lu | 1 Oct 01:29 2008
Picon

[PATCH 3/3] x86: change MTRR_SANITIZER to def_bool y

Signed-off-by: Yinghai Lu <yhlu.kernel <at> gmail.com>

---
 arch/x86/Kconfig |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Index: linux-2.6/arch/x86/Kconfig
===================================================================
--- linux-2.6.orig/arch/x86/Kconfig
+++ linux-2.6/arch/x86/Kconfig
 <at>  <at>  -1243,7 +1243,7  <at>  <at>  config MTRR
 	  See <file:Documentation/x86/mtrr.txt> for more information.

 config MTRR_SANITIZER
-	bool
+	def_bool y
 	prompt "MTRR cleanup support"
 	depends on MTRR
 	help
 <at>  <at>  -1254,7 +1254,7  <at>  <at>  config MTRR_SANITIZER
 	  The largest mtrr entry size for a continous block can be set with
 	  mtrr_chunk_size.

-	  If unsure, say N.
+	  If unsure, say Y.

 config MTRR_SANITIZER_ENABLE_DEFAULT
 	int "MTRR cleanup enable value (0-1)"
Larry Finger | 1 Oct 01:38 2008
Picon

Re: Logs being spammed with "Unable to enumerate USB device"

Larry Finger wrote:
> Robert Hancock wrote:
>> Is this just occurring during bootup? I think this is normal if the EHCI
>> driver is loaded after UHCI or OHCI because it causes the device to be
>> switched away from the other controller that's trying to enumerate it,
>> at least momentarily.
> 
> It sometimes happens at bootup, but at other times I will get hundreds
> of them in a row in the logs. I have put in some debugging where the
> message is triggered, but have not seen any of the flood-type since.

I now have more information. The if statement that triggers the
message is as follows:

if (hub->hdev->parent ||
    !hcd->driver->port_handed_over ||
    !(hcd->driver->port_handed_over)(hcd, port1))

For all the messages that I have captured, the first condition
(hub->hdev->parent) is always true.

For the isolated message that occurs at bootup, the second condition
(!hcd->driver->port_handed_over) is true and the third is false.

When the message storm occurs, the second condition is false, i.e.
hcd->driver->port_handed_over is not zero, but
!(hcd->driver->port_handed_over)(hcd, port1) is true.

As before, I am willing to test any patches. As the message storm is
rare, it will be difficult to show that a patch fixes the problem.
(Continue reading)


Gmane