nohz problem with idle time on old hardware

2013-11-13 Thread Matthew Whitehead
timesourcefor nohz, but we don't check for that case because most modern systems have several reliable hardware timesources. John suggested that we turn off nohz unless a usable hardware timesource is present. - Matthew Whitehead tedheads...@gmail.com -- To unsubscribe from this list: send the line

Re: nohz problem with idle time on old hardware

2013-11-13 Thread Matthew Whitehead
the system goes and leaves idle relative to the jiffies increment. Provide a tick_nohz_active indicator and let RCU and the accounting code use this instead of tick_nohz_enable. Reported-by: Matthew Whitehead tedheads...@gmail.com Matthew, can you test this patch to make sure

[PATCH] x86/perf : Add check for CPUID instruction before using

2018-02-02 Thread Matthew Whitehead
the early processors. This code was based on similar code in the gcc package. Signed-off-by: Matthew Whitehead <tedheads...@gmail.com> --- tools/perf/arch/x86/util/header.c | 51 +++ tools/perf/util/header.h | 2 ++ 2 files changed, 53 insertion

[PATCH v2] x86/perf : Add check for CPUID instruction before using

2018-02-02 Thread Matthew Whitehead
the early processors. v1: cpuid detection code based on GCC gcc/config/i386/cpuid.h https://gcc.gnu.org/git/?p=gcc.git;a=blob_plain;f=gcc/config/i386/cpuid.h;hb=HEAD v2: cpuid detection code based on Linux kernel arch/x86/kernel/cpu/common.c Signed-off-by: Matthew Whitehead <tedheads...@gmail.co

[PATCH 3/3] x86/Kconfig : Explicitly enumerate i686-class cpus in Kconfig

2018-02-03 Thread Matthew Whitehead
6 CPU, but only detected an i586 CPU" message and intentional halt as expected. It will instead just silently hang when it hits i686-specific instructions. Signed-off-by: Matthew Whitehead <tedheads...@gmail.com> --- arch/x86/Kconfig.cpu | 2 +- 1 file changed, 1 insertion(+), 1 deletio

[PATCH 1/3] x86/Kconfig : Add missing i586-class cpus to X86_CMPXCHG64 Kconfig group

2018-02-03 Thread Matthew Whitehead
uires an i586 CPU, but only detected an i486 CPU" message and intentional halt as expected. It will instead just silently hang when it hits i586-specific instructions. The M586 cpu is not in this list because at least the Cyrix 5x86 lacks this instruction, and perhaps others. Signed-off-b

[PATCH 2/3] x86/Kconfig : Exclude i586-class cpus lacking PAE support from HIGHMEM64G Kconfig group

2018-02-03 Thread Matthew Whitehead
i586-class machines also lack support for Physical Address Extension (PAE), so add them to the exclusion list Signed-off-by: Matthew Whitehead <tedheads...@gmail.com> --- arch/x86/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/Kconfig b/arch/x86/K

[PATCH 3/3] x86/Kconfig : Explicitly enumerate i686-class cpus in Kconfig

2018-02-15 Thread Matthew Whitehead
6 CPU, but only detected an i586 CPU" message and intentional halt as expected. It will instead just silently hang when it hits i686-specific instructions. Signed-off-by: Matthew Whitehead <tedheads...@gmail.com> --- arch/x86/Kconfig.cpu | 2 +- 1 file changed, 1 insertion(+), 1 deletio

[PATCH 2/3] x86/Kconfig : Exclude i586-class cpus lacking PAE support from HIGHMEM64G Kconfig group

2018-02-15 Thread Matthew Whitehead
i586-class machines also lack support for Physical Address Extension (PAE), so add them to the exclusion list Signed-off-by: Matthew Whitehead <tedheads...@gmail.com> --- arch/x86/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/Kconfig b/arch/x86/K

[PATCH 1/3] x86/Kconfig : Add missing i586-class cpus to X86_CMPXCHG64 Kconfig group

2018-02-15 Thread Matthew Whitehead
uires an i586 CPU, but only detected an i486 CPU" message and intentional halt as expected. It will instead just silently hang when it hits i586-specific instructions. The M586 cpu is not in this list because at least the Cyrix 5x86 lacks this instruction, and perhaps others. Signed-off-b

[PATCH] x86: kvm: Restrict X86_FEATURE_VMMCALL to x86_64 platform

2018-07-30 Thread Matthew Whitehead
early_init_amd() is called on all AMD processors, both 64 and 32 bit. Presently 32 bit processors get the X86_FEATURE_VMMCALL feature set, which they do not support. Add conditionals to restrict it to 64 bit processors. Cc: Paolo Bonzini Signed-off-by: Matthew Whitehead --- arch/x86/kernel/cpu

[PATCH] x86/cpu: Enable cpuid instruction on Cyrix 6x86/6x86L processors

2018-09-20 Thread Matthew Whitehead
early_identify_cpu() does not know that the call to identify_cpu_without_cpuid() actually enables the cpuid instruction in the odd Cyrix case, and it turns X86_FEATURE_CPUID off after it has just been enabled on the processor. This was tested on actual Cyrix hardware. Signed-off-by: Matthew Whitehead

[PATCH v2 1/2] x86/cpu: Use correct macros for Cyrix calls

2018-09-21 Thread Matthew Whitehead
x23); * } while (0); The new macros fix this problem, so we use them instead. Reviewed-by: Andy Lutomirski Signed-off-by: Matthew Whitehead --- arch/x86/kernel/cpu/cyrix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/cpu/cyrix.c b/arch/x86/kernel/cpu/cyrix.c in

[PATCH v2 2/2] x86/cpu: Change query logic so cpuid is enabled before testing

2018-09-21 Thread Matthew Whitehead
the calling sequence so that cpuid is first enabled, and then check a second time to see if the feature has now been activated. Reviewed-by: Andy Lutomirski Signed-off-by: Matthew Whitehead --- arch/x86/kernel/cpu/common.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/x86

[PATCH v2 0/2] x86/cpu: Enable cpuid on Cyrix 6x86/6x86L processors

2018-09-21 Thread Matthew Whitehead
On power up, the cpuid instruction is disabled on Cyrix 6x86 and 6x86L processors and needs to be enabled. This patchset enables it. Matthew Whitehead (2): x86/cpu: Use correct macros for Cyrix calls x86/cpu: Change query logic so cpuid is enabled before testing arch/x86/kernel/cpu/common.c

nohz problem with idle time on old hardware

2013-11-13 Thread Matthew Whitehead
timesourcefor nohz, but we don't check for that case because most modern systems have several reliable hardware timesources. John suggested that we turn off nohz unless a usable hardware timesource is present. - Matthew Whitehead -- To unsubscribe from this list: send the line "unsubscribe

Re: nohz problem with idle time on old hardware

2013-11-13 Thread Matthew Whitehead
as a clocksource which explains why the "fine" > > grained accounting went into lala land, because it depends on when the > > system goes and leaves idle relative to the jiffies increment. > > > > Provide a tick_nohz_active indicator and let RCU and the accounting

[PATCH 3/3] x86/Kconfig : Explicitly enumerate i686-class cpus in Kconfig

2018-02-15 Thread Matthew Whitehead
6 CPU, but only detected an i586 CPU" message and intentional halt as expected. It will instead just silently hang when it hits i686-specific instructions. Signed-off-by: Matthew Whitehead --- arch/x86/Kconfig.cpu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/Kco

[PATCH 2/3] x86/Kconfig : Exclude i586-class cpus lacking PAE support from HIGHMEM64G Kconfig group

2018-02-15 Thread Matthew Whitehead
i586-class machines also lack support for Physical Address Extension (PAE), so add them to the exclusion list Signed-off-by: Matthew Whitehead --- arch/x86/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 72d5149..89bf3fa

[PATCH 1/3] x86/Kconfig : Add missing i586-class cpus to X86_CMPXCHG64 Kconfig group

2018-02-15 Thread Matthew Whitehead
uires an i586 CPU, but only detected an i486 CPU" message and intentional halt as expected. It will instead just silently hang when it hits i586-specific instructions. The M586 cpu is not in this list because at least the Cyrix 5x86 lacks this instruction, and perhaps others. Signed-off-b

[PATCH] x86/perf : Add check for CPUID instruction before using

2018-02-02 Thread Matthew Whitehead
the early processors. This code was based on similar code in the gcc package. Signed-off-by: Matthew Whitehead --- tools/perf/arch/x86/util/header.c | 51 +++ tools/perf/util/header.h | 2 ++ 2 files changed, 53 insertions(+) diff --git a/tools/perf/arc

[PATCH v2] x86/perf : Add check for CPUID instruction before using

2018-02-02 Thread Matthew Whitehead
the early processors. v1: cpuid detection code based on GCC gcc/config/i386/cpuid.h https://gcc.gnu.org/git/?p=gcc.git;a=blob_plain;f=gcc/config/i386/cpuid.h;hb=HEAD v2: cpuid detection code based on Linux kernel arch/x86/kernel/cpu/common.c Signed-off-by: Matthew Whitehead --- tools/perf/arc

[PATCH 2/3] x86/Kconfig : Exclude i586-class cpus lacking PAE support from HIGHMEM64G Kconfig group

2018-02-03 Thread Matthew Whitehead
i586-class machines also lack support for Physical Address Extension (PAE), so add them to the exclusion list Signed-off-by: Matthew Whitehead --- arch/x86/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 423e4b6..c45fe6d

[PATCH 1/3] x86/Kconfig : Add missing i586-class cpus to X86_CMPXCHG64 Kconfig group

2018-02-03 Thread Matthew Whitehead
uires an i586 CPU, but only detected an i486 CPU" message and intentional halt as expected. It will instead just silently hang when it hits i586-specific instructions. The M586 cpu is not in this list because at least the Cyrix 5x86 lacks this instruction, and perhaps others. Signed-off-b

[PATCH 3/3] x86/Kconfig : Explicitly enumerate i686-class cpus in Kconfig

2018-02-03 Thread Matthew Whitehead
6 CPU, but only detected an i586 CPU" message and intentional halt as expected. It will instead just silently hang when it hits i686-specific instructions. Signed-off-by: Matthew Whitehead --- arch/x86/Kconfig.cpu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/Kco

[PATCH] x86: kvm: Restrict X86_FEATURE_VMMCALL to x86_64 platform

2018-07-30 Thread Matthew Whitehead
early_init_amd() is called on all AMD processors, both 64 and 32 bit. Presently 32 bit processors get the X86_FEATURE_VMMCALL feature set, which they do not support. Add conditionals to restrict it to 64 bit processors. Cc: Paolo Bonzini Signed-off-by: Matthew Whitehead --- arch/x86/kernel/cpu

[PATCH] x86/cpu: Enable cpuid instruction on Cyrix 6x86/6x86L processors

2018-09-20 Thread Matthew Whitehead
early_identify_cpu() does not know that the call to identify_cpu_without_cpuid() actually enables the cpuid instruction in the odd Cyrix case, and it turns X86_FEATURE_CPUID off after it has just been enabled on the processor. This was tested on actual Cyrix hardware. Signed-off-by: Matthew Whitehead

[PATCH v2 0/2] x86/cpu: Enable cpuid on Cyrix 6x86/6x86L processors

2018-09-21 Thread Matthew Whitehead
On power up, the cpuid instruction is disabled on Cyrix 6x86 and 6x86L processors and needs to be enabled. This patchset enables it. Matthew Whitehead (2): x86/cpu: Use correct macros for Cyrix calls x86/cpu: Change query logic so cpuid is enabled before testing arch/x86/kernel/cpu/common.c

[PATCH v2 1/2] x86/cpu: Use correct macros for Cyrix calls

2018-09-21 Thread Matthew Whitehead
x23); * } while (0); The new macros fix this problem, so we use them instead. Reviewed-by: Andy Lutomirski Signed-off-by: Matthew Whitehead --- arch/x86/kernel/cpu/cyrix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/cpu/cyrix.c b/arch/x86/kernel/cpu/cyrix.c in

[PATCH v2 2/2] x86/cpu: Change query logic so cpuid is enabled before testing

2018-09-21 Thread Matthew Whitehead
the calling sequence so that cpuid is first enabled, and then check a second time to see if the feature has now been activated. Reviewed-by: Andy Lutomirski Signed-off-by: Matthew Whitehead --- arch/x86/kernel/cpu/common.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/x86

[PATCH 0/2] x86/CPU: Use correct Cyrix-specific macros

2019-03-14 Thread Matthew Whitehead
Replace the incorrect Cyrix-specific macro calls with the correct setCx86() and getCx86() calls. Also remove the unused setCx86_old(), getCx86_old() and their related comments in the code. Matthew Whitehead (2): x86/CPU: Use correct macros for Cyrix calls on Geode processors x86/CPU: Remove

[PATCH 1/2] x86/CPU: Use correct macros for Cyrix calls on Geode processors

2019-03-14 Thread Matthew Whitehead
x23); * } while (0); The new macros fix this problem, so use them instead. Tested on an actual Geode processor. Signed-off-by: Matthew Whitehead --- arch/x86/kernel/cpu/cyrix.c | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/arch/x86/kernel/cpu/cyrix.c b/arch/x86/ker

[PATCH 2/2] x86/CPU: Remove {get,set}Cx86_old macros used for Cyrix processors

2019-03-14 Thread Matthew Whitehead
The getCx86_old() and setCx86_old() macros have been replaced with correctly working getCx86() and setCx86(), so remove these unused macros. Signed-off-by: Matthew Whitehead --- arch/x86/include/asm/processor-cyrix.h | 21 - 1 file changed, 21 deletions(-) diff --git a/arch

[PATCH] x86/CPU: Use correct macros for Cyrix calls on Geode processors

2019-03-06 Thread Matthew Whitehead
x23); * } while (0); The new macros fix this problem, so use them instead. Tested on an actual Geode processor. Signed-off-by: Matthew Whitehead --- arch/x86/kernel/cpu/cyrix.c | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/arch/x86/kernel/cpu/cyrix.c b/arch/x86/ker

[PATCH 1/2] x86/CPU: Use correct macros for Cyrix calls on Geode processors

2019-03-06 Thread Matthew Whitehead
x23); * } while (0); The new macros fix this problem, so use them instead. Tested on an actual Geode processor. Signed-off-by: Matthew Whitehead --- arch/x86/kernel/cpu/cyrix.c | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/arch/x86/kernel/cpu/cyrix.c b/arch/x86/ker

[PATCH 0/2] x86/CPU: Use correct Cyrix-specific macros

2019-03-06 Thread Matthew Whitehead
Replace the incorrect Cyrix-specific macro calls with the correct setCx86() and getCx86() calls. Also remove the unused setCx86_old(), getCx86_old() and their related comments in the code. Matthew Whitehead (2): x86/CPU: Use correct macros for Cyrix calls on Geode processors x86/CPU: Remove

[PATCH 2/2] x86/CPU: Remove {get,set}Cx86_old macros used for Cyrix processors

2019-03-06 Thread Matthew Whitehead
The getCx86_old() and setCx86_old() macros have been replaced with correctly working getCx86() and setCx86(), so remove these unused macros. Signed-off-by: Matthew Whitehead --- arch/x86/include/asm/processor-cyrix.h | 21 - 1 file changed, 21 deletions(-) diff --git a/arch

[PATCH 3.16] Backport of x86/vdso: Fix vDSO syscall fallback asm constraint regression

2019-01-19 Thread Matthew Whitehead
uot;. I tested part of Andy's patch and it resolved the failure. The 3.16 LTS kernel does not have the tools/testing/selftests/x86/test_vdso.c code, so a partial patch is indicated, unless Andy wants to provide that. Kindly backport to 3.16 LTS series. reported-by: Matthew Whitehead tested-by

[tip:x86/urgent] x86/Kconfig: Explicitly enumerate i686-class CPUs in Kconfig

2018-02-16 Thread tip-bot for Matthew Whitehead
Commit-ID: 25d76ac888216c369dea91768764728b83769799 Gitweb: https://git.kernel.org/tip/25d76ac888216c369dea91768764728b83769799 Author: Matthew Whitehead <tedheads...@gmail.com> AuthorDate: Thu, 15 Feb 2018 11:54:56 -0500 Committer: Ingo Molnar <mi...@kernel.org> CommitDate:

[tip:x86/urgent] x86/Kconfig: Exclude i586-class CPUs lacking PAE support from the HIGHMEM64G Kconfig group

2018-02-16 Thread tip-bot for Matthew Whitehead
Commit-ID: 69b8d3fcabdc81d9efd82b4a506c8279cbaba692 Gitweb: https://git.kernel.org/tip/69b8d3fcabdc81d9efd82b4a506c8279cbaba692 Author: Matthew Whitehead <tedheads...@gmail.com> AuthorDate: Thu, 15 Feb 2018 11:54:55 -0500 Committer: Ingo Molnar <mi...@kernel.org> CommitDate:

[tip:x86/urgent] x86/Kconfig: Add missing i586-class CPUs to the X86_CMPXCHG64 Kconfig group

2018-02-16 Thread tip-bot for Matthew Whitehead
Commit-ID: f960cfd12650fad43c1cde07a1f7642cf2c57f97 Gitweb: https://git.kernel.org/tip/f960cfd12650fad43c1cde07a1f7642cf2c57f97 Author: Matthew Whitehead <tedheads...@gmail.com> AuthorDate: Thu, 15 Feb 2018 11:54:54 -0500 Committer: Ingo Molnar <mi...@kernel.org> CommitDate:

[tip:x86/cpu] x86/CPU: Use correct macros for Cyrix calls

2018-09-22 Thread tip-bot for Matthew Whitehead
Commit-ID: 03b099bdcdf7125d4a63dc9ddeefdd454e05123d Gitweb: https://git.kernel.org/tip/03b099bdcdf7125d4a63dc9ddeefdd454e05123d Author: Matthew Whitehead AuthorDate: Fri, 21 Sep 2018 17:20:40 -0400 Committer: Borislav Petkov CommitDate: Sat, 22 Sep 2018 11:46:56 +0200 x86/CPU: Use

[tip:x86/cpu] x86/CPU: Change query logic so CPUID is enabled before testing

2018-09-22 Thread tip-bot for Matthew Whitehead
Commit-ID: 2893cc8ff892fa74972d8dc0e1d0dc65116daaa3 Gitweb: https://git.kernel.org/tip/2893cc8ff892fa74972d8dc0e1d0dc65116daaa3 Author: Matthew Whitehead AuthorDate: Fri, 21 Sep 2018 17:20:41 -0400 Committer: Borislav Petkov CommitDate: Sat, 22 Sep 2018 11:47:39 +0200 x86/CPU: Change

[tip:x86/urgent] x86/Kconfig: Add missing i586-class CPUs to the X86_CMPXCHG64 Kconfig group

2018-02-16 Thread tip-bot for Matthew Whitehead
Commit-ID: f960cfd12650fad43c1cde07a1f7642cf2c57f97 Gitweb: https://git.kernel.org/tip/f960cfd12650fad43c1cde07a1f7642cf2c57f97 Author: Matthew Whitehead AuthorDate: Thu, 15 Feb 2018 11:54:54 -0500 Committer: Ingo Molnar CommitDate: Fri, 16 Feb 2018 10:36:39 +0100 x86/Kconfig: Add

[tip:x86/urgent] x86/Kconfig: Exclude i586-class CPUs lacking PAE support from the HIGHMEM64G Kconfig group

2018-02-16 Thread tip-bot for Matthew Whitehead
Commit-ID: 69b8d3fcabdc81d9efd82b4a506c8279cbaba692 Gitweb: https://git.kernel.org/tip/69b8d3fcabdc81d9efd82b4a506c8279cbaba692 Author: Matthew Whitehead AuthorDate: Thu, 15 Feb 2018 11:54:55 -0500 Committer: Ingo Molnar CommitDate: Fri, 16 Feb 2018 10:36:39 +0100 x86/Kconfig: Exclude

[tip:x86/urgent] x86/Kconfig: Explicitly enumerate i686-class CPUs in Kconfig

2018-02-16 Thread tip-bot for Matthew Whitehead
Commit-ID: 25d76ac888216c369dea91768764728b83769799 Gitweb: https://git.kernel.org/tip/25d76ac888216c369dea91768764728b83769799 Author: Matthew Whitehead AuthorDate: Thu, 15 Feb 2018 11:54:56 -0500 Committer: Ingo Molnar CommitDate: Fri, 16 Feb 2018 10:36:39 +0100 x86/Kconfig

[tip:x86/cpu] x86/CPU: Use correct macros for Cyrix calls

2018-09-22 Thread tip-bot for Matthew Whitehead
Commit-ID: 03b099bdcdf7125d4a63dc9ddeefdd454e05123d Gitweb: https://git.kernel.org/tip/03b099bdcdf7125d4a63dc9ddeefdd454e05123d Author: Matthew Whitehead AuthorDate: Fri, 21 Sep 2018 17:20:40 -0400 Committer: Borislav Petkov CommitDate: Sat, 22 Sep 2018 11:46:56 +0200 x86/CPU: Use

[tip:x86/cpu] x86/CPU: Change query logic so CPUID is enabled before testing

2018-09-22 Thread tip-bot for Matthew Whitehead
Commit-ID: 2893cc8ff892fa74972d8dc0e1d0dc65116daaa3 Gitweb: https://git.kernel.org/tip/2893cc8ff892fa74972d8dc0e1d0dc65116daaa3 Author: Matthew Whitehead AuthorDate: Fri, 21 Sep 2018 17:20:41 -0400 Committer: Borislav Petkov CommitDate: Sat, 22 Sep 2018 11:47:39 +0200 x86/CPU: Change

[tip:x86/urgent] x86/cpu/cyrix: Use correct macros for Cyrix calls on Geode processors

2019-03-21 Thread tip-bot for Matthew Whitehead
Commit-ID: 18fb053f9b827bd98cfc64f2a35df8ab19745a1d Gitweb: https://git.kernel.org/tip/18fb053f9b827bd98cfc64f2a35df8ab19745a1d Author: Matthew Whitehead AuthorDate: Thu, 14 Mar 2019 16:46:00 -0400 Committer: Thomas Gleixner CommitDate: Thu, 21 Mar 2019 12:28:50 +0100 x86/cpu/cyrix

[tip:x86/urgent] x86/cpu/cyrix: Remove {get,set}Cx86_old macros used for Cyrix processors

2019-03-21 Thread tip-bot for Matthew Whitehead
Commit-ID: 0f4d3aa761b71cd6984330baca1e18bf0590e441 Gitweb: https://git.kernel.org/tip/0f4d3aa761b71cd6984330baca1e18bf0590e441 Author: Matthew Whitehead AuthorDate: Thu, 14 Mar 2019 16:46:01 -0400 Committer: Thomas Gleixner CommitDate: Thu, 21 Mar 2019 12:28:50 +0100 x86/cpu/cyrix