1. 26 Aug, 2009 5 commits
  2. 22 Aug, 2009 1 commit
  3. 21 Aug, 2009 2 commits
    • Suresh Siddha's avatar
      x86, pat/mtrr: Rendezvous all the cpus for MTRR/PAT init · d0af9eed
      Suresh Siddha authored
      SDM Vol 3a section titled "MTRR considerations in MP systems" specifies
      the need for synchronizing the logical cpu's while initializing/updating
      MTRR.
      
      Currently Linux kernel does the synchronization of all cpu's only when
      a single MTRR register is programmed/updated. During an AP online
      (during boot/cpu-online/resume)  where we initialize all the MTRR/PAT registers,
      we don't follow this synchronization algorithm.
      
      This can lead to scenarios where during a dynamic cpu online, that logical cpu
      is initializing MTRR/PAT with cache disabled (cr0.cd=1) etc while other logical
      HT sibling continue to run (also with cache disabled because of cr0.cd=1
      on its sibling).
      
      Starting from Westmere, VMX transitions with cr0.cd=1 don't work properly
      (because of some VMX performance optimizations) and the above scenario
      (with one logical cpu doing VMX activity and another logical cpu coming online)
      can result in system crash.
      
      Fix the MTRR initialization by doing rendezvous of all the cpus. During
      boot and resume, we delay the MTRR/PAT init for APs till all the
      logical cpu's come online and the rendezvous process at the end of AP's bringup,
      will initialize the MTRR/PAT for all AP's.
      
      For dynamic single cpu online, we synchronize all the logical cpus and
      do the MTRR/PAT init on the AP that is coming online.
      Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      d0af9eed
    • Suresh Siddha's avatar
      generic-ipi: Allow cpus not yet online to call smp_call_function with irqs disabled · 269c861b
      Suresh Siddha authored
      Because of deadlock possiblities smp_call_function() is not allowed to
      be called with interrupts disabled. Add an exception for the cpu not
      yet online, as no one else can send smp call function interrupt to this
      cpu that is not yet online and as such deadlock condition is not possible.
      Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
      Acked-by: default avatarNick Piggin <npiggin@suse.de>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      269c861b
  4. 09 Aug, 2009 1 commit
  5. 11 Jul, 2009 2 commits
  6. 10 Jul, 2009 2 commits
  7. 05 Jul, 2009 1 commit
    • Ingo Molnar's avatar
      x86: Further clean up of mtrr/generic.c · e3d0e692
      Ingo Molnar authored
      Yinghai noticed that i defined BIOS_BUG_MSG but added no
      usage for it. The usage is to clean up this turd in generic.c:
      
      			printk(KERN_WARNING "WARNING: BIOS bug: VAR MTRR %d "
      				"contains strange UC entry under 1M, check "
      				"with your system vendor!\n", i);
      
      Breaking printk lines in the middle looks ugly, is hard to read
      and breaks 'git grep'. Use the BIOS_BUG_MSG instead.
      
      Also complete the moving of structure definitions and variables
      to the top of the file.
      Reported-by: default avatarYinghai Lu <yinghai@kernel.org>
      LKML-Reference: <20090703164225.GA21447@elte.hu>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      e3d0e692
  8. 04 Jul, 2009 10 commits
    • Jaswinder Singh Rajput's avatar
      x86: Clean up mtrr/main.c · dbd51be0
      Jaswinder Singh Rajput authored
      Fix following trivial style problems:
      
        ERROR: trailing whitespace X 25
        WARNING: Use #include <linux/uaccess.h> instead of <asm/uaccess.h>
        WARNING: Use #include <linux/kvm_para.h> instead of <asm/kvm_para.h>
        ERROR: do not initialise externals to 0 or NULL X 2
        ERROR: "foo * bar" should be "foo *bar" X 5
        ERROR: do not use assignment in if condition X 2
        WARNING: line over 80 characters X 8
        ERROR: return is not a function, parentheses are not required
        WARNING: braces {} are not necessary for any arm of this statement
        ERROR: space required before the open parenthesis '(' X 2
        ERROR: open brace '{' following function declarations go on the next line
        ERROR: space required after that ',' (ctx:VxV) X 8
        ERROR: space required before the open parenthesis '(' X 3
        ERROR: else should follow close brace '}'
        WARNING: space prohibited between function name and open parenthesis '('
        WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable X 2
      
      Also use pr_debug and pr_warning where possible.
      
      total: 50 errors, 14 warnings
      
      arch/x86/kernel/cpu/mtrr/main.o:
      
         text	   data	    bss	    dec	    hex	filename
         3668	    116	   4156	   7940	   1f04	main.o.before
         3668	    116	   4156	   7940	   1f04	main.o.after
      
      md5:
         e01af2fd28deef77c8d01e71acfbd365  main.o.before.asm
         e01af2fd28deef77c8d01e71acfbd365  main.o.after.asm
      Suggested-by: default avatarAlan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: default avatarJaswinder Singh Rajput <jaswinderrajput@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      LKML-Reference: <20090703164225.GA21447@elte.hu>
      Cc: Avi Kivity <avi@redhat.com> # Avi, please have a look at the kvm_para.h bit
      [ More cleanups ]
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      dbd51be0
    • Jaswinder Singh Rajput's avatar
      x86: Clean up mtrr/state.c · 09b22c85
      Jaswinder Singh Rajput authored
      Fix:
      
        WARNING: Use #include <linux/io.h> instead of <asm/io.h>
        WARNING: line over 80 characters X 4
      
      arch/x86/kernel/cpu/mtrr/state.o:
      
         text	   data	    bss	    dec	    hex	filename
          864	      0	      0	    864	    360	state.o.before
          864	      0	      0	    864	    360	state.o.after
      
      md5:
         c5c4364b9aeac74d70111e1e49667a2c  state.o.before.asm
         c5c4364b9aeac74d70111e1e49667a2c  state.o.after.asm
      Suggested-by: default avatarAlan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: default avatarJaswinder Singh Rajput <jaswinderrajput@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      LKML-Reference: <20090703164225.GA21447@elte.hu>
      [ More cleanups ]
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      09b22c85
    • Jaswinder Singh Rajput's avatar
      x86: Clean up mtrr/mtrr.h · 3ec8dbcb
      Jaswinder Singh Rajput authored
      Fix:
      
        ERROR: do not use C99 // comments
        ERROR: "foo * bar" should be "foo *bar" X 2
      Suggested-by: default avatarAlan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: default avatarJaswinder Singh Rajput <jaswinderrajput@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      LKML-Reference: <20090703164225.GA21447@elte.hu>
      [ More tidyups ]
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      3ec8dbcb
    • Jaswinder Singh Rajput's avatar
      x86: Clean up mtrr/if.c · 26dc67ed
      Jaswinder Singh Rajput authored
      Fix:
      
        WARNING: Use #include <linux/uaccess.h> instead of <asm/uaccess.h>
        ERROR: trailing whitespace X 7
        ERROR: trailing statements should be on next line X 3
        WARNING: line over 80 characters X 5
        ERROR: space required before the open parenthesis '('
      
      arch/x86/kernel/cpu/mtrr/if.o:
      
         text	   data	    bss	    dec	    hex	filename
         2239	      4	      0	   2243	    8c3	if.o.before
         2239	      4	      0	   2243	    8c3	if.o.after
      
      md5:
         78d1f2aa4843ec6509c18e2dee54bc7f  if.o.before.asm
         78d1f2aa4843ec6509c18e2dee54bc7f  if.o.after.asm
      Suggested-by: default avatarAlan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: default avatarJaswinder Singh Rajput <jaswinderrajput@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      LKML-Reference: <20090703164225.GA21447@elte.hu>
      [ More cleanups to make the code more consistent. ]
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      26dc67ed
    • Jaswinder Singh Rajput's avatar
      x86: Clean up mtrr/generic.c · a1a499a3
      Jaswinder Singh Rajput authored
      Fix following trivial style problems:
      
        ERROR: trailing whitespace X 4
        WARNING: Use #include <linux/io.h> instead of <asm/io.h>
        WARNING: braces {} are not necessary for single statement blocks X 3
        ERROR: "foo * bar" should be "foo *bar"
        WARNING: line over 80 characters X 6
        ERROR: "foo * bar" should be "foo *bar"
        ERROR: spaces required around that '=' (ctx:VxO)
        ERROR: space required before that '-' (ctx:OxV)
        WARNING: suspect code indent for conditional statements (8, 12)
        ERROR: spaces required around that '=' (ctx:VxV)
        ERROR: do not initialise statics to 0 or NULL
        ERROR: space prohibited after that open parenthesis '(' X 2
        ERROR: space prohibited before that close parenthesis ')' X 2
        ERROR: trailing statements should be on next line
        ERROR: return is not a function, parentheses are not required
      
      Also use pr_debug and pr_warning where possible.
      
      arch/x86/kernel/cpu/mtrr/generic.o:
      
         text	   data	    bss	    dec	    hex	filename
         5652	     77	   4224	   9953	   26e1	generic.o.before
         5652	     77	   4220	   9949	   26dd	generic.o.after
      
      The md5 changed:
         b34d6c045f06daa4ed092b90cc760e8f  generic.o.before.asm
         a490c6251cfd8442fbffecc0e09a573d  generic.o.after.asm
      
      Because mtrr_state moved from data to bss, changing its
      offsets - and also because __LINE__ numbers changed.
      Suggested-by: default avatarAlan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: default avatarJaswinder Singh Rajput <jaswinderrajput@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      LKML-Reference: <20090703164225.GA21447@elte.hu>
      [ Further cleanups to make the code more consistent ]
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      a1a499a3
    • Jaswinder Singh Rajput's avatar
      x86: Clean up mtrr/cyrix.c · 23110377
      Jaswinder Singh Rajput authored
      Fix trivial style problems:
      
        WARNING: Use #include <linux/io.h> instead of <asm/io.h>
        WARNING: line over 80 characters
        ERROR: do not initialise statics to 0 or NULL
        ERROR: space prohibited after that open parenthesis '(' X 2
        ERROR: space prohibited before that close parenthesis ')' X 2
        ERROR: trailing whitespace X 2
        ERROR: trailing statements should be on next line
        ERROR: do not use C99 // comments X 2
      
      arch/x86/kernel/cpu/mtrr/cyrix.o:
      
         text	   data	    bss	    dec	    hex	filename
         1637	     32	      8	   1677	    68d	cyrix.o.before
         1637	     32	      8	   1677	    68d	cyrix.o.after
      
      md5:
         6f52abd06905be3f4cabb5239f9b0ff0  cyrix.o.before.asm
         6f52abd06905be3f4cabb5239f9b0ff0  cyrix.o.after.asm
      Suggested-by: default avatarAlan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: default avatarJaswinder Singh Rajput <jaswinderrajput@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      LKML-Reference: <20090703164225.GA21447@elte.hu>
      [ Made the code more consistent ]
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      23110377
    • Jaswinder Singh Rajput's avatar
      x86: Clean up mtrr/cleanup.c · 63f9600f
      Jaswinder Singh Rajput authored
      Fix trivial style problems:
      
        WARNING: Use #include <linux/uaccess.h> instead of <asm/uaccess.h>
        WARNING: Use #include <linux/kvm_para.h> instead of <asm/kvm_para.h>
      
      Also, nr_mtrr_spare_reg should be unsigned long.
      
      arch/x86/kernel/cpu/mtrr/cleanup.o:
      
         text	   data	    bss	    dec	    hex	filename
         6241	   8992	   2056	  17289	   4389	cleanup.o.before
         6241	   8992	   2056	  17289	   4389	cleanup.o.after
      
      The md5 has changed:
         1a7a27513aef1825236daf29110fe657  cleanup.o.before.asm
         bcea358efa2532b6020e338e158447af  cleanup.o.after.asm
      
      Because a WARN_ON()'s __LINE__ value changed by 3 lines.
      Suggested-by: default avatarAlan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: default avatarJaswinder Singh Rajput <jaswinderrajput@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      LKML-Reference: <20090703164225.GA21447@elte.hu>
      [ Did lots of other cleanups to make the code look more consistent. ]
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      63f9600f
    • Jaswinder Singh Rajput's avatar
      x86: Clean up mtrr/centaur.c · 6c4caa1a
      Jaswinder Singh Rajput authored
      Remove dead code and fix trivial style problems:
      
        ERROR: trailing whitespace X 2
        WARNING: line over 80 characters X 3
        ROR: trailing whitespace
        ERROR: do not use C99 // comments X 2
      
      arch/x86/kernel/cpu/mtrr/centaur.o:
      
         text	   data	    bss	    dec	    hex	filename
          605	     32	     68	    705	    2c1	centaur.o.before
          605	     32	     68	    705	    2c1	centaur.o.after
      
      md5:
         a4865ea98ce3c163bb1d376a3949b3e3  centaur.o.before.asm
         a4865ea98ce3c163bb1d376a3949b3e3  centaur.o.after.asm
      Suggested-by: default avatarAlan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: default avatarJaswinder Singh Rajput <jaswinderrajput@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      LKML-Reference: <20090703164225.GA21447@elte.hu>
      [ Standardized comments, DocBook, curly braces, newlines. ]
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      6c4caa1a
    • Jaswinder Singh Rajput's avatar
      x86: Clean up mtrr/amd.c: · 42204455
      Jaswinder Singh Rajput authored
      Fix trivial style problems :
      
        ERROR: trailing whitespace
        WARNING: line over 80 characters
        ERROR: do not use C99 // comments
      
      arch/x86/kernel/cpu/mtrr/amd.o:
      
         text	   data	    bss	    dec	    hex	filename
          501	     32	      0	    533	    215	amd.o.before
          501	     32	      0	    533	    215	amd.o.after
      
      md5:
         62f795eb840ee2d17b03df89e789e76c  amd.o.before.asm
         62f795eb840ee2d17b03df89e789e76c  amd.o.after.asm
      Suggested-by: default avatarAlan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: default avatarJaswinder Singh Rajput <jaswinderrajput@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      LKML-Reference: <20090703164225.GA21447@elte.hu>
      [ Also restructured comments to be standard, removed stray return,
        converted function description to DocBook style, etc. ]
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      42204455
    • Ingo Molnar's avatar
      Merge branch 'linus' into x86/cleanups · d7e57676
      Ingo Molnar authored
      Merge reason: We were on an older pre-rc1 base, move to almost-rc2.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      d7e57676
  9. 02 Jul, 2009 16 commits