HAS_CC_CET_IBT misdetected

2023-05-01 Thread Olaf Hering
The next push to xen.git#staging will trigger a build failure in the refreshed Leap docker image. For some reason HAS_CC_CET_IBT will evaluate to true. I think the significant change is the binutils upgrade from 2.37 to 2.39 in November 2022. The comment indicates the combination of gcc7 and

[PATCH v1] automation: provide diffutils and ghostscript in opensuse images

2023-05-01 Thread Olaf Hering
The diffutils package is a hard requirement for building xen. It was dropped from the Tumbleweed base image in the past 12 months. Building with --enable-docs does now require the gs tool. Add both packages to the suse dockerfiles. Signed-off-by: Olaf Hering ---

Re: xen | Failed pipeline for staging | 6a47ba2f

2023-05-01 Thread Stefano Stabellini
On Sat, 29 Apr 2023, Stefano Stabellini wrote: > Your guess was correct. I have done more bisecting today. The culprit is > the following commit (I reverted only this commit and ran 25 tests > successfully, usually it fails in less than 5): > > e522c98c3tools: Refactor console/io.c to avoid

Re: [PATCH v2 21/34] arm64: Convert various functions to use ptdescs

2023-05-01 Thread kernel test robot
Hi Vishal, kernel test robot noticed the following build errors: [auto build test ERROR on akpm-mm/mm-everything] [also build test ERROR on linus/master next-20230428] [cannot apply to s390/features powerpc/next powerpc/fixes geert-m68k/for-next geert-m68k/for-linus v6.3] [If your patch is

Re: [PATCH v2 21/34] arm64: Convert various functions to use ptdescs

2023-05-01 Thread kernel test robot
Hi Vishal, kernel test robot noticed the following build errors: [auto build test ERROR on akpm-mm/mm-everything] [also build test ERROR on linus/master next-20230428] [cannot apply to s390/features powerpc/next powerpc/fixes geert-m68k/for-next geert-m68k/for-linus v6.3] [If your patch is

[linux-linus test] 180497: regressions - FAIL

2023-05-01 Thread osstest service owner
flight 180497 linux-linus real [real] flight 180499 linux-linus real-retest [real] http://logs.test-lab.xenproject.org/osstest/logs/180497/ http://logs.test-lab.xenproject.org/osstest/logs/180499/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be

Re: [patch 26/37] riscv: Switch to hotplug core state synchronization

2023-05-01 Thread Palmer Dabbelt
On Fri, 14 Apr 2023 16:44:55 PDT (-0700), t...@linutronix.de wrote: Switch to the CPU hotplug core state tracking and synchronization mechanim. No functional change intended. Signed-off-by: Thomas Gleixner Cc: Paul Walmsley Cc: Palmer Dabbelt Cc: linux-ri...@lists.infradead.org ---

[xen-unstable test] 180496: tolerable FAIL - PUSHED

2023-05-01 Thread osstest service owner
flight 180496 xen-unstable real [real] flight 180498 xen-unstable real-retest [real] http://logs.test-lab.xenproject.org/osstest/logs/180496/ http://logs.test-lab.xenproject.org/osstest/logs/180498/ Failures :-/ but no regressions. Tests which are failing intermittently (not blocking):

Re: [PATCH v2 29/34] riscv: Convert alloc_{pmd, pte}_late() to use ptdescs

2023-05-01 Thread Palmer Dabbelt
On Mon, 01 May 2023 12:28:24 PDT (-0700), vishal.mo...@gmail.com wrote: As part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents, convert various page table functions to use ptdescs. Some of the functions use the *get*page*() helper functions. Convert these

[PATCH v1] xen/sched/null: avoid crash after failed domU creation

2023-05-01 Thread Stewart Hildebrand
When creating a domU, but the creation fails, there is a corner case that may lead to a crash in the null scheduler when running a debug build of Xen. (XEN) (XEN) Panic on CPU 0: (XEN) Assertion 'npc->unit == unit' failed at common/sched/null.c:379 (XEN)

[PATCH v1 6/6] xen/arm: smmuv3: Add PCI devices support for SMMUv3

2023-05-01 Thread Stewart Hildebrand
From: Rahul Singh Signed-off-by: Rahul Singh Signed-off-by: Stewart Hildebrand --- downstream->v1: * rebase * move 2 replacements of s/dt_device_set_protected(dev_to_dt(dev))/device_set_protected(dev)/ from this commit to ("xen/arm: Move is_protected flag to struct device") so as to not

[PATCH v1 6/6] xen/arm: smmuv3: Add PCI devices support for SMMUv3

2023-05-01 Thread Stewart Hildebrand
From: Rahul Singh Signed-off-by: Rahul Singh Signed-off-by: Stewart Hildebrand --- downstream->v1: * rebase * move 2 replacements of s/dt_device_set_protected(dev_to_dt(dev))/device_set_protected(dev)/ from this commit to ("xen/arm: Move is_protected flag to struct device") so as to not

[PATCH v1 5/6] xen/arm: smmuv2: Add PCI devices support for SMMUv2

2023-05-01 Thread Stewart Hildebrand
From: Oleksandr Andrushchenko Signed-off-by: Oleksandr Tyshchenko Signed-off-by: Oleksandr Andrushchenko Signed-off-by: Stewart Hildebrand --- downstream->v1: * wrap unused function in #ifdef 0 * remove the remove_device() stub since it was submitted separately to the list [XEN][PATCH v5

[PATCH v1 3/6] iommu/arm: Introduce iommu_add_dt_pci_device API

2023-05-01 Thread Stewart Hildebrand
From: Oleksandr Tyshchenko The main purpose of this patch is to add a way to register PCI device (which is behind the IOMMU) using the generic PCI-IOMMU DT bindings [1] before assigning that device to a domain. This behaves in almost the same way as existing iommu_add_dt_device API, the

[PATCH v1 4/6] pci/arm: Use iommu_add_dt_pci_device() instead of arch hook

2023-05-01 Thread Stewart Hildebrand
From: Oleksandr Tyshchenko On Arm we need to parse DT PCI-IOMMU specifier and provide it to the driver (for describing the relationship between PCI devices and IOMMUs) before adding a device to it. Also clarify the check of the return value as iommu_add_pci_device can return >0 if a device

[PATCH v1 2/6] iommu/arm: Add iommu_dt_xlate()

2023-05-01 Thread Stewart Hildebrand
From: Oleksandr Tyshchenko Move code for processing DT IOMMU specifier to a separate helper. This helper will be re-used for adding PCI devices by the subsequent patches as we will need exact the same actions for processing DT PCI-IOMMU specifier. While at it introduce NO_IOMMU to avoid magic

[PATCH v1 1/6] xen/arm: Move is_protected flag to struct device

2023-05-01 Thread Stewart Hildebrand
From: Oleksandr Tyshchenko This flag will be re-used for PCI devices by the subsequent patches. Signed-off-by: Oleksandr Tyshchenko Signed-off-by: Stewart Hildebrand --- downstream->v1: * rebase * s/dev_node->is_protected/dev_node->dev.is_protected/ in smmu.c *

[PATCH v1 0/6] SMMU handling for PCIe Passthrough on ARM

2023-05-01 Thread Stewart Hildebrand
This series introduces SMMU handling for PCIe passthrough on ARM. These patches are independent from (and don't depend on) the vPCI reference counting/locking work in progress, and should be able to be upstreamed independently. I have cherry-picked them from various downstream branches, rebased,

[PATCH v2 30/34] sh: Convert pte_free_tlb() to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
Part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents. Also cleans up some spacing issues. Signed-off-by: Vishal Moola (Oracle) --- arch/sh/include/asm/pgalloc.h | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git

[PATCH v3 13/14 RESEND] xenpm: Add set-cpufreq-hwp subcommand

2023-05-01 Thread Jason Andryuk
set-cpufreq-hwp allows setting the Hardware P-State (HWP) parameters. It can be run on all or just a single cpu. There are presets of balance, powersave & performance. Those can be further tweaked by param:val arguments as explained in the usage description. Parameter names are just checked to

[PATCH v3 14/14 RESEND] CHANGELOG: Add Intel HWP entry

2023-05-01 Thread Jason Andryuk
Signed-off-by: Jason Andryuk Acked-by: Henry Wang --- v3: Position under existing Added section Add Henry's Ack v2: Add blank line --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5dbf8b06d7..2eb9e2cfd0 100644 --- a/CHANGELOG.md +++

[PATCH v2 29/34] riscv: Convert alloc_{pmd, pte}_late() to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
As part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents, convert various page table functions to use ptdescs. Some of the functions use the *get*page*() helper functions. Convert these to use ptdesc_alloc() and ptdesc_address() instead to help standardize

[PATCH v2 32/34] sparc: Convert pgtable_pte_page_{ctor, dtor}() to ptdesc equivalents

2023-05-01 Thread Vishal Moola (Oracle)
Part of the conversions to replace pgtable pte constructor/destructors with ptdesc equivalents. Signed-off-by: Vishal Moola (Oracle) --- arch/sparc/mm/srmmu.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/sparc/mm/srmmu.c b/arch/sparc/mm/srmmu.c index

[PATCH v2 26/34] mips: Convert various functions to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
As part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents, convert various page table functions to use ptdescs. Some of the functions use the *get*page*() helper functions. Convert these to use ptdesc_alloc() and ptdesc_address() instead to help standardize

[PATCH v2 33/34] um: Convert {pmd, pte}_free_tlb() to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
Part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents. Also cleans up some spacing issues. Signed-off-by: Vishal Moola (Oracle) --- arch/um/include/asm/pgalloc.h | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git

[PATCH v2 28/34] openrisc: Convert __pte_free_tlb() to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
Part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents. Signed-off-by: Vishal Moola (Oracle) --- arch/openrisc/include/asm/pgalloc.h | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/openrisc/include/asm/pgalloc.h

[PATCH v2 24/34] loongarch: Convert various functions to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
As part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents, convert various page table functions to use ptdescs. Some of the functions use the *get*page*() helper functions. Convert these to use ptdesc_alloc() and ptdesc_address() instead to help standardize

[PATCH v2 25/34] m68k: Convert various functions to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
As part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents, convert various page table functions to use ptdescs. Some of the functions use the *get*page*() helper functions. Convert these to use ptdesc_alloc() and ptdesc_address() instead to help standardize

[PATCH v2 27/34] nios2: Convert __pte_free_tlb() to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
Part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents. Signed-off-by: Vishal Moola (Oracle) --- arch/nios2/include/asm/pgalloc.h | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/nios2/include/asm/pgalloc.h

[PATCH v2 20/34] arm: Convert various functions to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
As part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents, convert various page table functions to use ptdescs. late_alloc() also uses the __get_free_pages() helper function. Convert this to use ptdesc_alloc() and ptdesc_address() instead to help standardize

[PATCH v2 22/34] csky: Convert __pte_free_tlb() to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
Part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents. Signed-off-by: Vishal Moola (Oracle) --- arch/csky/include/asm/pgalloc.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/csky/include/asm/pgalloc.h

[PATCH v2 21/34] arm64: Convert various functions to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
As part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents, convert various page table functions to use ptdescs. Signed-off-by: Vishal Moola (Oracle) --- arch/arm64/include/asm/tlb.h | 14 -- arch/arm64/mm/mmu.c | 7 --- 2 files

[PATCH v3 12/14 RESEND] xenpm: Factor out a non-fatal cpuid_parse variant

2023-05-01 Thread Jason Andryuk
Allow cpuid_parse to be re-used without terminating xenpm. HWP will re-use it to optionally parse a cpuid. Unlike other uses of cpuid_parse, parse_hwp_opts will take a variable number of arguments and cannot just check argc. Signed-off-by: Jason Andryuk --- v2: Retained because cpuid_parse

[PATCH v2 31/34] sparc64: Convert various functions to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
As part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents, convert various page table functions to use ptdescs. Signed-off-by: Vishal Moola (Oracle) --- arch/sparc/mm/init_64.c | 17 + 1 file changed, 9 insertions(+), 8 deletions(-) diff

[PATCH v2 16/34] s390: Convert various gmap functions to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
In order to split struct ptdesc from struct page, convert various functions to use ptdescs. Some of the functions use the *get*page*() helper functions. Convert these to use ptdesc_alloc() and ptdesc_address() instead to help standardize page tables further. Signed-off-by: Vishal Moola (Oracle)

[PATCH v2 23/34] hexagon: Convert __pte_free_tlb() to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
Part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents. Signed-off-by: Vishal Moola (Oracle) --- arch/hexagon/include/asm/pgalloc.h | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/hexagon/include/asm/pgalloc.h

[PATCH v2 34/34] mm: Remove pgtable_{pmd, pte}_page_{ctor, dtor}() wrappers

2023-05-01 Thread Vishal Moola (Oracle)
These functions are no longer necessary. Remove them and cleanup Documentation referencing them. Signed-off-by: Vishal Moola (Oracle) --- Documentation/mm/split_page_table_lock.rst| 12 +-- .../zh_CN/mm/split_page_table_lock.rst| 14 ++--- include/linux/mm.h

[PATCH v3 11/14 RESEND] libxc: Add xc_set_cpufreq_hwp

2023-05-01 Thread Jason Andryuk
Add xc_set_cpufreq_hwp to allow calling xen_systctl_pm_op SET_CPUFREQ_HWP. Signed-off-by: Jason Andryuk --- v2: Mark xc_set_hwp_para_t const --- tools/include/xenctrl.h | 4 tools/libs/ctrl/xc_pm.c | 18 ++ 2 files changed, 22 insertions(+) diff --git

[PATCH v3 10/14 RESEND] xen: Add SET_CPUFREQ_HWP xen_sysctl_pm_op

2023-05-01 Thread Jason Andryuk
Add SET_CPUFREQ_HWP xen_sysctl_pm_op to set HWP parameters. The sysctl supports setting multiple values simultaneously as indicated by the set_params bits. This allows atomically applying new HWP configuration via a single wrmsr. XEN_SYSCTL_HWP_SET_PRESET_BALANCE/PERFORMANCE/POWERSAVE provide

[PATCH v3 09/14 RESEND] xenpm: Print HWP parameters

2023-05-01 Thread Jason Andryuk
Print HWP-specific parameters. Some are always present, but others depend on hardware support. Signed-off-by: Jason Andryuk --- v2: Style fixes Declare i outside loop Replace repearted hardware/configured limits with spaces Fixup for hw_ removal Use XEN_HWP_GOVERNOR Use

[PATCH v3 08/14 RESEND] libxc: Include hwp_para in definitions

2023-05-01 Thread Jason Andryuk
Expose the hwp_para fields through libxc. Signed-off-by: Jason Andryuk --- tools/include/xenctrl.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h index 05967ecc92..437001d713 100644 --- a/tools/include/xenctrl.h +++

[PATCH v3 05/14 RESEND] xenpm: Change get-cpufreq-para output for internal

2023-05-01 Thread Jason Andryuk
When using HWP, some of the returned data is not applicable. In that case, we should just omit it to avoid confusing the user. So switch to printing the base and turbo frequencies since those are relevant to HWP. Similarly, stop printing the CPU frequencies since those do not apply.

[PATCH v3 07/14 RESEND] cpufreq: Export HWP parameters to userspace

2023-05-01 Thread Jason Andryuk
Extend xen_get_cpufreq_para to return hwp parameters. These match the hardware rather closely. We need the features bitmask to indicated fields supported by the actual hardware. The use of uint8_t parameters matches the hardware size. uint32_t entries grows the sysctl_t past the build

[PATCH v3 04/14 RESEND] cpufreq: Add Hardware P-State (HWP) driver

2023-05-01 Thread Jason Andryuk
>From the Intel SDM: "Hardware-Controlled Performance States (HWP), which autonomously selects performance states while utilizing OS supplied performance guidance hints." Enable HWP to run in autonomous mode by poking the correct MSRs. cpufreq=xen:hwp enables and cpufreq=xen:hwp=0 disables. The

[PATCH v3 06/14 RESEND] xen/x86: Tweak PDC bits when using HWP

2023-05-01 Thread Jason Andryuk
Qubes testing of HWP support had a report of a laptop, Thinkpad X1 Carbon Gen 4 with a Skylake processor, locking up during boot when HWP is enabled. A user found a kernel bug that seems to be the same issue: https://bugzilla.kernel.org/show_bug.cgi?id=110941. That bug was fixed by Linux commit

[PATCH v3 03/14 RESEND] cpufreq: Export intel_feature_detect

2023-05-01 Thread Jason Andryuk
Export feature_detect as intel_feature_detect so it can be re-used by HWP. Signed-off-by: Jason Andryuk --- v3: Remove void * cast when calling intel_feature_detect v2: export intel_feature_detect with typed pointer Move intel_feature_detect to acpi/cpufreq/cpufreq.h since the declaration now

[PATCH v3 02/14 RESEND] cpufreq: Add perf_freq to cpuinfo

2023-05-01 Thread Jason Andryuk
acpi-cpufreq scales the aperf/mperf measurements by max_freq, but HWP needs to scale by base frequency. Settings max_freq to base_freq "works" but the code is not obvious, and returning values to userspace is tricky. Add an additonal perf_freq member which is used for scaling aperf/mperf

[PATCH v3 01/14 RESEND] cpufreq: Allow restricting to internal governors only

2023-05-01 Thread Jason Andryuk
For hwp, the standard governors are not usable, and only the internal one is applicable. Add the cpufreq_governor_internal boolean to indicate when an internal governor, like hwp-internal, will be used. This is set during presmp_initcall, so that it can suppress governor registration during

[PATCH v3 00/14 RESEND] Intel Hardware P-States (HWP) support

2023-05-01 Thread Jason Andryuk
Hi, Resending since I messed up the To: line. Sorry about that. This patch series adds Hardware-Controlled Performance States (HWP) for Intel processors to Xen. v2 was only partially reviewed, so v3 is mostly a reposting of v2. In v2 & v3, I think I addressed all comments for v1. I kept

[PATCH v2 15/34] x86: Convert various functions to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
In order to split struct ptdesc from struct page, convert various functions to use ptdescs. Some of the functions use the *get*page*() helper functions. Convert these to use ptdesc_alloc() and ptdesc_address() instead to help standardize page tables further. Signed-off-by: Vishal Moola (Oracle)

[PATCH v2 19/34] pgalloc: Convert various functions to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
As part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents, convert various page table functions to use ptdescs. Some of the functions use the *get*page*() helper functions. Convert these to use ptdesc_alloc() and ptdesc_address() instead to help standardize

[PATCH v2 13/34] mm: Create ptdesc equivalents for pgtable_{pte,pmd}_page_{ctor,dtor}

2023-05-01 Thread Vishal Moola (Oracle)
Creates ptdesc_pte_ctor(), ptdesc_pmd_ctor(), ptdesc_pte_dtor(), and ptdesc_pmd_dtor() and make the original pgtable constructor/destructors wrappers. Signed-off-by: Vishal Moola (Oracle) --- include/linux/mm.h | 56 ++ 1 file changed, 42

[PATCH v2 17/34] s390: Convert various pgalloc functions to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
As part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents, convert various page table functions to use ptdescs. Some of the functions use the *get*page*() helper functions. Convert these to use ptdesc_alloc() and ptdesc_address() instead to help standardize

[PATCH v2 18/34] mm: Remove page table members from struct page

2023-05-01 Thread Vishal Moola (Oracle)
The page table members are now split out into their own ptdesc struct. Remove them from struct page. Signed-off-by: Vishal Moola (Oracle) --- include/linux/mm_types.h | 14 -- include/linux/pgtable.h | 3 --- 2 files changed, 17 deletions(-) diff --git a/include/linux/mm_types.h

[PATCH v2 12/34] mm: Convert ptlock_free() to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) --- include/linux/mm.h | 10 +- mm/memory.c| 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git

[PATCH v2 14/34] powerpc: Convert various functions to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
In order to split struct ptdesc from struct page, convert various functions to use ptdescs. Signed-off-by: Vishal Moola (Oracle) --- arch/powerpc/mm/book3s64/mmu_context.c | 10 +++--- arch/powerpc/mm/book3s64/pgtable.c | 32 +- arch/powerpc/mm/pgtable-frag.c | 46

[PATCH v2 11/34] mm: Convert pmd_ptlock_free() to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) --- include/linux/mm.h | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h

[PATCH v2 10/34] mm: Convert ptlock_init() to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) --- include/linux/mm.h | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h

[PATCH v2 08/34] mm: Convert ptlock_ptr() to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) --- arch/x86/xen/mmu_pv.c | 2 +- include/linux/mm.h| 14 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git

[PATCH v2 07/34] mm: Convert ptlock_alloc() to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) --- include/linux/mm.h | 6 +++--- mm/memory.c| 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/linux/mm.h

[PATCH v2 05/34] mm: add utility functions for ptdesc

2023-05-01 Thread Vishal Moola (Oracle)
Introduce utility functions setting the foundation for ptdescs. These will also assist in the splitting out of ptdesc from struct page. ptdesc_alloc() is defined to allocate new ptdesc pages as compound pages. This is to standardize ptdescs by allowing for one allocation and one free function, in

[PATCH v2 03/34] s390: Use pt_frag_refcount for pagetables

2023-05-01 Thread Vishal Moola (Oracle)
s390 currently uses _refcount to identify fragmented page tables. The page table struct already has a member pt_frag_refcount used by powerpc, so have s390 use that instead of the _refcount field as well. This improves the safety for _refcount and the page table tracking. This also allows us to

[PATCH v2 09/34] mm: Convert pmd_ptlock_init() to use ptdescs

2023-05-01 Thread Vishal Moola (Oracle)
This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) --- include/linux/mm.h | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h

[PATCH v2 06/34] mm: Convert pmd_pgtable_page() to pmd_ptdesc()

2023-05-01 Thread Vishal Moola (Oracle)
Converts pmd_pgtable_page() to pmd_ptdesc() and all its callers. This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) --- include/linux/mm.h | 8 1 file changed, 4 insertions(+), 4

[PATCH v2 01/34] mm: Add PAGE_TYPE_OP folio functions

2023-05-01 Thread Vishal Moola (Oracle)
No folio equivalents for page type operations have been defined, so define them for later folio conversions. Also changes the Page##uname macros to take in const struct page* since we only read the memory here. Signed-off-by: Vishal Moola (Oracle) --- include/linux/page-flags.h | 20

[PATCH v2 04/34] pgtable: Create struct ptdesc

2023-05-01 Thread Vishal Moola (Oracle)
Currently, page table information is stored within struct page. As part of simplifying struct page, create struct ptdesc for page table information. Signed-off-by: Vishal Moola (Oracle) --- include/linux/pgtable.h | 52 + 1 file changed, 52 insertions(+)

[PATCH v2 02/34] s390: Use _pt_s390_gaddr for gmap address tracking

2023-05-01 Thread Vishal Moola (Oracle)
s390 uses page->index to keep track of page tables for the guest address space. In an attempt to consolidate the usage of page fields in s390, replace _pt_pad_2 with _pt_s390_gaddr to replace page->index in gmap. This will help with the splitting of struct ptdesc from struct page, as well as

[PATCH v2 00/34] Split ptdesc from struct page

2023-05-01 Thread Vishal Moola (Oracle)
The MM subsystem is trying to shrink struct page. This patchset introduces a memory descriptor for page table tracking - struct ptdesc. This patchset introduces ptdesc, splits ptdesc from struct page, and converts many callers of page table constructor/destructors to use ptdescs. Ptdesc is a

[PATCH v3 05/14] xenpm: Change get-cpufreq-para output for internal

2023-05-01 Thread Jason Andryuk
When using HWP, some of the returned data is not applicable. In that case, we should just omit it to avoid confusing the user. So switch to printing the base and turbo frequencies since those are relevant to HWP. Similarly, stop printing the CPU frequencies since those do not apply.

[PATCH v3 04/14] cpufreq: Add Hardware P-State (HWP) driver

2023-05-01 Thread Jason Andryuk
>From the Intel SDM: "Hardware-Controlled Performance States (HWP), which autonomously selects performance states while utilizing OS supplied performance guidance hints." Enable HWP to run in autonomous mode by poking the correct MSRs. cpufreq=xen:hwp enables and cpufreq=xen:hwp=0 disables. The

[PATCH v3 02/14] cpufreq: Add perf_freq to cpuinfo

2023-05-01 Thread Jason Andryuk
acpi-cpufreq scales the aperf/mperf measurements by max_freq, but HWP needs to scale by base frequency. Settings max_freq to base_freq "works" but the code is not obvious, and returning values to userspace is tricky. Add an additonal perf_freq member which is used for scaling aperf/mperf

[PATCH v3 03/14] cpufreq: Export intel_feature_detect

2023-05-01 Thread Jason Andryuk
Export feature_detect as intel_feature_detect so it can be re-used by HWP. Signed-off-by: Jason Andryuk --- v3: Remove void * cast when calling intel_feature_detect v2: export intel_feature_detect with typed pointer Move intel_feature_detect to acpi/cpufreq/cpufreq.h since the declaration now

[PATCH v3 00/14] Intel Hardware P-States (HWP) support

2023-05-01 Thread Jason Andryuk
Hi, This patch series adds Hardware-Controlled Performance States (HWP) for Intel processors to Xen. v2 was only partially reviewed, so v3 is mostly a reposting of v2. In v2 & v3, I think I addressed all comments for v1. I kept patch 11 "xenpm: Factor out a non-fatal cpuid_parse variant", with

[PATCH v3 01/14] cpufreq: Allow restricting to internal governors only

2023-05-01 Thread Jason Andryuk
For hwp, the standard governors are not usable, and only the internal one is applicable. Add the cpufreq_governor_internal boolean to indicate when an internal governor, like hwp-internal, will be used. This is set during presmp_initcall, so that it can suppress governor registration during

Re: [PATCH v4 04/20] virtio-scsi: stop using aio_disable_external() during unplug

2023-05-01 Thread Stefan Hajnoczi
On Fri, Apr 28, 2023 at 04:22:55PM +0200, Kevin Wolf wrote: > Am 25.04.2023 um 19:27 hat Stefan Hajnoczi geschrieben: > > This patch is part of an effort to remove the aio_disable_external() > > API because it does not fit in a multi-queue block layer world where > > many AioContexts may be

[xen-unstable-smoke test] 180494: tolerable all pass - PUSHED

2023-05-01 Thread osstest service owner
flight 180494 xen-unstable-smoke real [real] http://logs.test-lab.xenproject.org/osstest/logs/180494/ Failures :-/ but no regressions. Tests which did not succeed, but are not blocking: test-amd64-amd64-libvirt 15 migrate-support-checkfail never pass test-arm64-arm64-xl-xsm

[linux-linus test] 180493: regressions - FAIL

2023-05-01 Thread osstest service owner
flight 180493 linux-linus real [real] flight 180495 linux-linus real-retest [real] http://logs.test-lab.xenproject.org/osstest/logs/180493/ http://logs.test-lab.xenproject.org/osstest/logs/180495/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be

[xen-unstable test] 180492: tolerable FAIL

2023-05-01 Thread osstest service owner
flight 180492 xen-unstable real [real] http://logs.test-lab.xenproject.org/osstest/logs/180492/ Failures :-/ but no regressions. Tests which are failing intermittently (not blocking): test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install fail in 180484 pass in 180492

Re: [PATCH v2 0/2] automation: optimize build jobs order

2023-05-01 Thread Andrew Cooper
On 30/04/2023 11:42 pm, Marek Marczykowski-Górecki wrote: > This made the pipeline to complete within 45 minutes. This isn't big > improvement on its own, but should make adding more runners more > beneficial. While looking at it in real time, most jobs were really > waiting for available runners