All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rusty Russell <rusty@rustcorp.com.au>
To: Ingo Molnar <mingo@elte.hu>
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
	Mike Travis <travis@sgi.com>
Subject: Re: [PULL] x86 cpumask work
Date: Fri, 13 Mar 2009 15:04:08 +1030	[thread overview]
Message-ID: <200903131504.09388.rusty@rustcorp.com.au> (raw)
In-Reply-To: <20090313032015.GD18760@elte.hu>

On Friday 13 March 2009 13:50:15 Ingo Molnar wrote:
> 
> * Rusty Russell <rusty@rustcorp.com.au> wrote:
> 
> > On Friday 13 March 2009 11:27:43 Ingo Molnar wrote:
> > > 
> > > * Rusty Russell <rusty@rustcorp.com.au> wrote: 
> > > > Missing a core patch (it even got a compile warning with that 
> > > > config).
> > > So it's manual work and sometimes i notice them amongst a 
> > > boatload of other warnings, sometimes i dont.
> > 
> > Me too :( I thought you were starting a de-warning tree?  I'd 
> > be happy to send you patches (particularly, exporting 
> > deprecated symbols should not give a warning!).
> 
> Yeah - i have a de-warning tree, but it's not yet fully up and 
> running for -tip qa automation.
> 
> > > > But there's something else wrong.  Firing up my 64-bit 
> > > > test box now.
> > > 
> > > Great - so you can reproduce. Thanks,
> > 
> > Yep, and I'm running some stress tests as well now.
> > 
> > Perhaps throw away that tree, and I'll feed you a new one (the 
> > core patch needs to go at the front), but I can work either 
> > way.
> 
> Ok, i dropped it back to d95c357.
> 
> Suggestion for future workflow: we wouldnt have these somewhat 
> stressful (and stressful to you mostly!), large hickups and 
> history-less trees if you sent stuff more gradually and not so 
> close to the merge window. You exposed some of your changes to 
> linux-next but that's not nearly enough testing in practice for 
> x86-affecting patches.

Yes, I wanted to complete the patchset to make sure I wasn't going to hit
some subtle problem.

OK, please check the first patch (it's a new addition, I *think* using
the topology_* macros is right here), and the other change is:

Here's the other change: it's a little ugly (AFAICT boot_cpu_data isn't
even *used* on 64 bit, so a cleanup may be in order):

+++ b/arch/x86/kernel/smpboot.c
@@ -329,6 +329,23 @@ notrace static void __cpuinit start_seco
 	cpu_idle();
 }
 
+#ifdef CONFIG_CPUMASK_OFFSTACK
+/* In this case, llc_shared_map is a pointer to a cpumask. */
+static inline void copy_cpuinfo_x86(struct cpuinfo_x86 *dst,
+				    const struct cpuinfo_x86 *src)
+{
+	struct cpumask *llc = dst->llc_shared_map;
+	*dst = *src;
+	dst->llc_shared_map = llc;
+}
+#else
+static inline void copy_cpuinfo_x86(struct cpuinfo_x86 *dst,
+				    const struct cpuinfo_x86 *src)
+{
+	*dst = *src;
+}
+#endif /* CONFIG_CPUMASK_OFFSTACK */
+
 /*
  * The bootstrap kernel entry code has set these up. Save them for
  * a given CPU
@@ -338,7 +355,7 @@ void __cpuinit smp_store_cpu_info(int id
 {
 	struct cpuinfo_x86 *c = &cpu_data(id);
 
-	*c = boot_cpu_data;
+	copy_cpuinfo_x86(c, &boot_cpu_data);
 	c->cpu_index = id;
 	if (id != 0)
 		identify_secondary_cpu(c);

BTW, these didn't go thru linux-next: your testing is better and your
tree is too different or me to ask Stephen to merge.

Thanks!
Rusty.

The following changes since commit d95c3578120e5bc4784069439f00ccb1b5f87717:
  Ingo Molnar (1):
        Merge branch 'x86/core' into cpus4096

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-x86.git cpus4096

Rusty Russell (22):
      cpumask: use topology_core_cpumask/topology_thread_cpumask instead of cpu_core_map/cpu_sibling_map
      cpumask: replace node_to_cpumask with cpumask_of_node.
      cpumask: remove dangerous CPU_MASK_ALL_PTR, &CPU_MASK_ALL.: x86
      cpumask: remove the now-obsoleted pcibus_to_cpumask(): x86
      cpumask: remove cpu_coregroup_map: x86
      cpumask: remove obsolete topology_core_siblings and topology_thread_siblings: x86
      cpumask: convert c1e_mask in arch/x86/kernel/process.c to cpumask_var_t.
      cpumask: convert arch/x86/kernel/nmi.c's backtrace_mask to a cpumask_var_t
      cpumask: x86: convert cpu_sibling_map/cpu_core_map to cpumask_var_t
      cpumask: convert arch/x86/kernel/cpu/mcheck/mce_64.c
      x86: arch_send_call_function_ipi_mask
      cpumask: remove x86's node_to_cpumask now everyone uses cpumask_of_node
      x86: unify 32 and 64-bit node_to_cpumask_map
      cpumask: convert node_to_cpumask_map[] to cpumask_var_t
      cpumask: convert struct cpuinfo_x86's llc_shared_map to cpumask_var_t
      x86: unify cpu_callin_mask/cpu_callout_mask/cpu_initialized_mask/cpu_sibling_setup_mask
      cpumask: use new cpumask functions throughout x86
      cpumask: clean up summit's send_IPI functions
      cpumask: make Xen use the new operators.
      cpumask: remove cpumask_t assignment from vector_allocation_domain()
      cpumask: use cpumask_var_t in uv_flush_tlb_others.
      cpumask: remove x86 cpumask_t uses.

 arch/x86/include/asm/cpumask.h              |   18 -----
 arch/x86/include/asm/pci.h                  |    5 -
 arch/x86/include/asm/processor.h            |    2 +-
 arch/x86/include/asm/smp.h                  |   13 ++--
 arch/x86/include/asm/topology.h             |   89 +++++-----------------
 arch/x86/kernel/apic/bigsmp_32.c            |   16 ++--
 arch/x86/kernel/apic/es7000_32.c            |   17 ++--
 arch/x86/kernel/apic/nmi.c                  |   11 ++-
 arch/x86/kernel/apic/numaq_32.c             |   11 ++-
 arch/x86/kernel/apic/probe_32.c             |    3 +-
 arch/x86/kernel/apic/summit_32.c            |   21 ++---
 arch/x86/kernel/cpu/common.c                |   12 ---
 arch/x86/kernel/cpu/cpufreq/p4-clockmod.c   |    2 +-
 arch/x86/kernel/cpu/cpufreq/powernow-k8.c   |   13 ++-
 arch/x86/kernel/cpu/cpufreq/speedstep-ich.c |    2 +-
 arch/x86/kernel/cpu/mcheck/mce_64.c         |   10 ++-
 arch/x86/kernel/cpu/mcheck/mce_amd_64.c     |    6 +-
 arch/x86/kernel/cpu/mcheck/mce_intel_64.c   |    2 +-
 arch/x86/kernel/cpu/proc.c                  |    6 +-
 arch/x86/kernel/process.c                   |   12 ++-
 arch/x86/kernel/smpboot.c                   |   70 ++++++++++-------
 arch/x86/kernel/tlb_uv.c                    |    9 ++-
 arch/x86/mm/Makefile                        |    2 +-
 arch/x86/mm/numa.c                          |   67 ++++++++++++++++
 arch/x86/mm/numa_64.c                       |  111 ++-------------------------
 arch/x86/oprofile/op_model_p4.c             |    2 +-
 arch/x86/xen/smp.c                          |    6 +-
 block/blk.h                                 |    2 +-
 drivers/base/node.c                         |    2 +-
 drivers/pci/pci-driver.c                    |    3 +-
 drivers/xen/cpu_hotplug.c                   |    4 +-
 include/linux/topology.h                    |    6 +-
 kernel/sched.c                              |    8 +-
 mm/page_alloc.c                             |    6 +-
 mm/quicklist.c                              |    2 +-
 mm/slab.c                                   |    2 +-
 mm/vmscan.c                                 |    6 +-
 net/sunrpc/svc.c                            |    3 +-
 38 files changed, 246 insertions(+), 336 deletions(-)
 create mode 100644 arch/x86/mm/numa.c

  reply	other threads:[~2009-03-13  4:34 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-12  4:23 [PULL] x86 cpumask work Rusty Russell
2009-03-12 10:26 ` Ingo Molnar
2009-03-12 10:37   ` Ingo Molnar
2009-03-12 22:54     ` Rusty Russell
2009-03-13  0:57       ` Ingo Molnar
2009-03-13  2:46         ` Rusty Russell
2009-03-13  3:20           ` Ingo Molnar
2009-03-13  4:34             ` Rusty Russell [this message]
2009-03-13  4:55               ` Ingo Molnar
2009-03-13  5:27                 ` Ingo Molnar
2009-03-13  5:32                   ` Ingo Molnar
2009-03-13  6:44                     ` Rusty Russell
2009-03-13 13:12                     ` Rusty Russell
2009-03-13 13:45                       ` [tip:cpus4096] cpumask: convert node_to_cpumask_map[] to cpumask_var_t Rusty Russell
2009-03-13 15:27                       ` [PULL] x86 cpumask work Ingo Molnar
2009-03-15  2:56                         ` Rusty Russell
2009-03-15  6:00                           ` Ingo Molnar
2009-03-16  3:03                             ` Rusty Russell
2009-03-16  8:48                               ` Ingo Molnar
2009-03-17  4:20                                 ` Rusty Russell
2009-03-17 10:51                                   ` Ingo Molnar
2009-03-17 21:27                                     ` Rusty Russell
2009-03-18  8:51                                   ` [tip:cpus4096] cpumask: fix CONFIG_CPUMASK_OFFSTACK=y cpu hotunplug crash Rusty Russell
2009-03-13 13:13                     ` [PATCH] Move numa_node_id default implementation to topology.h Rusty Russell
2009-03-13 13:45                       ` [tip:cpus4096] numa, cpumask: move " Rusty Russell
  -- strict thread matches above, loose matches on Subject: below --
2009-03-17 18:56 [PULL] x86 cpumask work Cliff Wickman
2009-03-17 21:52 ` Rusty Russell
2009-03-18 12:57   ` Cliff Wickman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200903131504.09388.rusty@rustcorp.com.au \
    --to=rusty@rustcorp.com.au \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=travis@sgi.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.