Hi all,
Just wanted to check in and let the community know that Raptor
Engineering will be officially dedicating development resources towards
maintaining, developing, and testing the existing Linux KVM facilities
for PowerNV machines.
To this end, we have developed a publicly-accessible CI/CD sy
Hello,
On Mon, Dec 23, 2024 at 07:26:55PM +0530, Athira Rajeev wrote:
> perf lock contention returns zero exit value even if the lock contention
> BPF setup failed.
>
># ./perf lock con -b true
>libbpf: kernel BTF is missing at '/sys/kernel/btf/vmlinux', was
> CONFIG_DEBUG_INFO_BTF enabl
From: Bartosz Golaszewski
On Thu, 02 Jan 2025 19:31:41 +0100, J. Neuschäfer wrote:
> This patchset adds a devicetree for the LANCOM NWAPP2 board based on the
> MPC8314E platform, and slightly modernizes the MPC83xx platform support
> in the process.
>
> This board is nominally end-of-life, but
On Mon, Jan 6, 2025 at 11:38 AM Christophe Leroy
wrote:
>
> Since commit 659ad3492b91 ("perf maps: Switch from rbtree to lazily
> sorted array for addresses"), perf doesn't display anymore kernel
> symbols on powerpc, allthough it still detects them as kernel addresses.
>
> # Overhead Com
Le 03/01/2025 à 17:26, Arnaldo Carvalho de Melo a écrit :
On Fri, Jan 03, 2025 at 01:40:24PM +0100, Christophe Leroy wrote:
Le 03/01/2025 à 02:08, Arnaldo Carvalho de Melo a écrit :
PerfTop: 524 irqs/sec kernel:51.1% exact: 0.0% lost: 0/0 drop: 0/0
[4000Hz cpu-clock:ppp], (all,
Building perf with EXTRA_CFLAGS="-DMAX_NR_CPUS=1" fails:
CC /home/chleroy/linux-powerpc/tools/perf/libperf/cpumap.o
cpumap.c:16: error: "MAX_NR_CPUS" redefined [-Werror]
16 | #define MAX_NR_CPUS 4096
|
: note: this is the location of the prev
Since commit 659ad3492b91 ("perf maps: Switch from rbtree to lazily
sorted array for addresses"), perf doesn't display anymore kernel
symbols on powerpc, allthough it still detects them as kernel addresses.
# Overhead Command Shared Object Symbol
# .. .
Hi Qi,
On 30/12/2024 10:07, Qi Zheng wrote:
From: Kevin Brodsky
{pmd,pud,p4d}_alloc_one() is never called if the corresponding page
table level is folded, as {pmd,pud,p4d}_alloc() already does the
required check. We can therefore remove the runtime page table level
checks in {pud,p4d}_alloc_on
On Fri, Dec 27, 2024 at 04:18:32PM +0530, Athira Rajeev wrote:
>
>
> > On 23 Dec 2024, at 7:28 PM, Athira Rajeev
> > wrote:
> >
> > When kernel is built without debuginfo, running perf record with
> > --off-cpu results in segfault as below:
> >
> > ./perf record --off-cpu -e dummy sleep 1
>
Hello,
On Mon, Jan 06, 2025 at 01:38:52PM +0100, Christophe Leroy wrote:
>
>
> Le 03/01/2025 à 17:26, Arnaldo Carvalho de Melo a écrit :
> > On Fri, Jan 03, 2025 at 01:40:24PM +0100, Christophe Leroy wrote:
> > > Le 03/01/2025 à 02:08, Arnaldo Carvalho de Melo a écrit :
> > > > > PerfTop:
On Wed, Jan 01, 2025, Paolo Bonzini wrote:
> kvm_follow_pfn() is able to work with NULL in the .map_writable field
> of the homonymous struct. But __kvm_faultin_pfn() rejects the combo
> despite KVM for e500 trying to use it. Indeed .map_writable is not
> particularly useful if the flags include
On Mon, Jan 6, 2025 at 11:38 AM Christophe Leroy
wrote:
>
> Building perf with EXTRA_CFLAGS="-DMAX_NR_CPUS=1" fails:
>
> CC /home/chleroy/linux-powerpc/tools/perf/libperf/cpumap.o
> cpumap.c:16: error: "MAX_NR_CPUS" redefined [-Werror]
>16 | #define MAX_NR_CPUS 4
Currently ZONE_DEVICE page reference counts are initialised by core
memory management code in __init_zone_device_page() as part of the
memremap() call which driver modules make to obtain ZONE_DEVICE
pages. This initialises page refcounts to 1 before returning them to
the driver.
This was presumabl
PAGE_MAPPING_DAX_SHARED is the same as PAGE_MAPPING_ANON. This isn't
currently a problem because FS DAX pages are treated
specially. However a future change will make FS DAX pages more like
normal pages, so folio_test_anon() must not return true for a FS DAX
page.
We could explicitly test for a FS
Zone device pages are used to represent various type of device memory
managed by device drivers. Currently compound zone device pages are
not supported. This is because MEMORY_DEVICE_FS_DAX pages are the only
user of higher order zone device pages and have their own page
reference counting.
A futu
Prior to freeing a block file systems supporting FS DAX must check
that the associated pages are both unmapped from user-space and not
undergoing DMA or other access from eg. get_user_pages(). This is
achieved by unmapping the file range and scanning the FS DAX
page-cache to see if any pages within
A FS DAX page is considered idle when its refcount drops to one. This
is currently open-coded in all file systems supporting FS DAX. Move
the idle detection to a common function to make future changes easier.
Signed-off-by: Alistair Popple
Reviewed-by: Jan Kara
Reviewed-by: Christoph Hellwig
Re
In preparation for using insert_page() for DAX, enhance
insert_page_into_pte_locked() to handle establishing writable
mappings. Recall that DAX returns VM_FAULT_NOPAGE after installing a
PTE which bypasses the typical set_pte_range() in finish_fault.
Signed-off-by: Alistair Popple
Suggested-by:
Main updates since v4:
- Removed most of the devdax/fsdax checks in fs/proc/task_mmu.c. This
means smaps/pagemap may contain DAX pages.
- Fixed rmap accounting of PUD mapped pages.
- Minor code clean-ups.
Main updates since v3:
- Rebased onto next-20241216. The rebase wasn't too difficu
Currently to map a DAX page the DAX driver calls vmf_insert_pfn. This
creates a special devmap PTE entry for the pfn but does not take a
reference on the underlying struct page for the mapping. This is
because DAX page refcounts are treated specially, as indicated by the
presence of a devmap entry.
Several functions internal to FS DAX use the following pattern when
trying to obtain an unlocked entry:
xas_for_each(&xas, entry, end_idx) {
if (dax_is_locked(entry))
entry = get_unlocked_entry(&xas, 0);
This is problematic because get_unlocked_entry() will get the next
pr
dax_layout_busy_page_range() is used by file systems to scan the DAX
page-cache to unmap mapping pages from user-space and to determine if
any pages in the given range are busy, either due to ongoing DMA or
other get_user_pages() usage.
Currently it checks to see the file mapping is mapped into us
File systems call dax_break_mapping() prior to reallocating file
system blocks to ensure the page is not undergoing any DMA or other
accesses. Generally this is needed when a file is truncated to ensure
that if a block is reallocated nothing is writing to it. However
filesystems currently don't cal
Prior to any truncation operations file systems call
dax_break_mapping() to ensure pages in the range are not under going
DMA. Later DAX page-cache entries will be removed by
truncate_folio_batch_exceptionals() in the generic page-cache code.
However this makes it possible for folios to be removed
Now that DAX and all other reference counts to ZONE_DEVICE pages are
managed normally there is no need for the special devmap PTE/PMD/PUD
page table bits. So drop all references to these, freeing up a
software defined page table bit on architectures supporting it.
Signed-off-by: Alistair Popple
A
FS DAX requires file systems to call into the DAX layout prior to
unlinking inodes to ensure there is no ongoing DMA or other remote
access to the direct mapped page. The fuse file system implements
fuse_dax_break_layouts() to do this which includes a comment
indicating that passing dmap_end == 0 l
PCI P2PDMA pages are not mapped with pXX_devmap PTEs therefore the
check in __gup_device_huge() is redundant. Remove it
Signed-off-by: Alistair Popple
Reviewed-by: Jason Gunthorpe
Reviewed-by: Dan Wiliams
Acked-by: David Hildenbrand
---
mm/gup.c | 5 -
1 file changed, 5 deletions(-)
diff
The rmap doesn't currently support adding a PUD mapping of a
folio. This patch adds support for entire PUD mappings of folios,
primarily to allow for more standard refcounting of device DAX
folios. Currently DAX is the only user of this and it doesn't require
support for partially mapped PUD-sized
Add helpers to determine if a page or folio is a devdax or fsdax page
or folio.
Signed-off-by: Alistair Popple
Acked-by: David Hildenbrand
---
Changes for v5:
- Renamed is_device_dax_page() to is_devdax_page() for consistency.
---
include/linux/memremap.h | 22 ++
1 file
Currently DAX folio/page reference counts are managed differently to
normal pages. To allow these to be managed the same as normal pages
introduce vmf_insert_folio_pmd. This will map the entire PMD-sized folio
and take references as it would for a normally mapped page.
This is distinct from the cu
On Sat, 2024-12-21 at 22:42 +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann
>
> KVM on PowerPC BookE was introduced in 2008 and supported IBM 44x,
> Freescale e500v2 (32-bit mpc85xx, QuorIQ P1/P2), e500mc (32bit QorIQ
> P2/P3/P4), e5500 (64-bit QorIQ P5/T1) and e6500 (64-bit QorIQ T2/T4).
>
>
The devmap PTE special bit was used to detect mappings of FS DAX
pages. This tracking was required to ensure the generic mm did not
manipulate the page reference counts as FS DAX implemented it's own
reference counting scheme.
Now that FS DAX pages have their references counted the same way as
nor
Longterm pinning of FS DAX pages should already be disallowed by
various pXX_devmap checks. However a future change will cause these
checks to be invalid for FS DAX pages so make
folio_is_longterm_pinnable() return false for FS DAX pages.
Signed-off-by: Alistair Popple
Reviewed-by: John Hubbard
Currently fs dax pages are considered free when the refcount drops to
one and their refcounts are not increased when mapped via PTEs or
decreased when unmapped. This requires special logic in mm paths to
detect that these pages should not be properly refcounted, and to
detect when the refcount drop
Currently DAX folio/page reference counts are managed differently to
normal pages. To allow these to be managed the same as normal pages
introduce vmf_insert_folio_pud. This will map the entire PUD-sized folio
and take references as it would for a normally mapped page.
This is distinct from the cu
At present mlock skips ptes mapping ZONE_DEVICE pages. A future change
to remove pmd_devmap will allow pmd_trans_huge_lock() to return
ZONE_DEVICE folios so make sure we continue to skip those.
Signed-off-by: Alistair Popple
Acked-by: David Hildenbrand
---
mm/mlock.c | 2 ++
1 file changed, 2 i
The procfs mmu files such as smaps and pagemap currently ignore devdax and
fsdax pages because these pages are considered special. A future change
will start treating these as normal pages, meaning they can be exposed via
smaps and pagemap.
The only difference is that devdax and fsdax pages can ne
Device DAX pages are currently not reference counted when mapped,
instead relying on the devmap PTE bit to ensure mapping code will not
get/put references. This requires special handling in various page
table walkers, particularly GUP, to manage references on the
underlying pgmap to ensure the page
DEVMAP PTEs are no longer required to support ZONE_DEVICE so remove
them.
Signed-off-by: Alistair Popple
Suggested-by: Chunyan Zhang
Reviewed-by: Björn Töpel
---
arch/riscv/Kconfig| 1 -
arch/riscv/include/asm/pgtable-64.h | 20
arch/riscv/include/as
Hi all,
On Mon, Jan 06, 2025 at 08:48:05AM -0800, Kees Cook wrote:
> On Sat, Jan 04, 2025 at 11:38:34PM +0900, Akihiko Odaki wrote:
> > elf.h had a comment saying:
> > > Notes used in ET_CORE. Architectures export some of the arch register
> > > sets using the corresponding note types via the PTRA
There is a typo in a pr_err message. Fix it.
Signed-off-by: Colin Ian King
---
arch/powerpc/platforms/book3s/vas-api.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/platforms/book3s/vas-api.c
b/arch/powerpc/platforms/book3s/vas-api.c
index 0b6365d85d11..b50d3d
On Mon, Jan 06, 2025 at 06:55:58PM +0800, Qi Zheng wrote:
> > > +static inline void pagetable_dtor(struct ptdesc *ptdesc)
> > > +{
> > > + struct folio *folio = ptdesc_folio(ptdesc);
> > > +
> > > + ptlock_free(ptdesc);
> > > + __folio_clear_pgtable(folio);
> > > + lruvec_stat_sub_folio(folio, NR_P
On Mon, Jan 06, 2025 at 07:02:17PM +0800, Qi Zheng wrote:
> > On Mon, Dec 30, 2024 at 05:07:47PM +0800, Qi Zheng wrote:
> > > To unify the PxD and PTE TLB free path, also move the pagetable_dtor() of
> > > PMD|PUD|P4D to __tlb_remove_table().
> >
> > The above and Subject are still incorrect: page
Le 06/01/2025 à 14:35, Markus Elfring a écrit :
…
+++ b/arch/powerpc/platforms/book3s/vas-api.c
@@ -490,7 +490,7 @@ static void vas_mmap_close(struct vm_area_struct *vma)
* address. So it has to be the same VMA that is getting freed.
*/
if (WARN_ON(txwin->task_ref.vm
Le 02/01/2025 à 19:31, J. Neuschäfer via B4 Relay a écrit :
[Vous ne recevez pas souvent de courriers de
devnull+j.ne.posteo@kernel.org. Découvrez pourquoi ceci est important à
https://aka.ms/LearnAboutSenderIdentification ]
From: "J. Neuschäfer"
The Reference Design Boards (RDB) don'
Le 02/01/2025 à 19:31, J. Neuschäfer via B4 Relay a écrit :
[Vous ne recevez pas souvent de courriers de
devnull+j.ne.posteo@kernel.org. Découvrez pourquoi ceci est important à
https://aka.ms/LearnAboutSenderIdentification ]
From: "J. Neuschäfer"
The Flat Image Tree (FIT) format combi
Le 02/01/2025 à 19:31, J. Neuschäfer via B4 Relay a écrit :
[Vous ne recevez pas souvent de courriers de
devnull+j.ne.posteo@kernel.org. Découvrez pourquoi ceci est important à
https://aka.ms/LearnAboutSenderIdentification ]
From: "J. Neuschäfer"
In order to produce useful FIT images,
On Sat, Jan 04, 2025 at 11:38:34PM +0900, Akihiko Odaki wrote:
> elf.h had a comment saying:
> > Notes used in ET_CORE. Architectures export some of the arch register
> > sets using the corresponding note types via the PTRACE_GETREGSET and
> > PTRACE_SETREGSET requests.
> > The note name for these
Hi,
On Sat, Jan 04, 2025 at 11:38:38PM +0900, Akihiko Odaki wrote:
> Now KEXEC_CORE_NOTE_NAME is only used at one place and it does not seem
> to provide any value anymore. Replace the remaining usage with the
> literal and remove the macro.
>
> Signed-off-by: Akihiko Odaki
> ---
> arch/s390/ke
On Sat, Jan 04, 2025 at 11:38:34PM +0900, Akihiko Odaki wrote:
> elf.h had a comment saying:
> > Notes used in ET_CORE. Architectures export some of the arch register
> > sets using the corresponding note types via the PTRACE_GETREGSET and
> > PTRACE_SETREGSET requests.
> > The note name for these
Hi,
On Sat, Jan 04, 2025 at 11:38:33PM +0900, Akihiko Odaki wrote:
> elf.h had a comment saying:
> > Notes used in ET_CORE. Architectures export some of the arch register
> > sets using the corresponding note types via the PTRACE_GETREGSET and
> > PTRACE_SETREGSET requests.
> > The note name for t
On Mon, Jan 06, 2025 at 09:34:55PM +0800, Qi Zheng wrote:
> OK, will change the subject and description to:
>
> s390: pgtable: also move pagetable_dtor() of PxD to pagetable_dtor_free()
>
> To unify the PxD and PTE TLB free path, also move the pagetable_dtor() of
> PMD|PUD|P4D to pagetable_dtor_f
On 2025/1/6 22:35, Alexander Gordeev wrote:
On Mon, Jan 06, 2025 at 09:34:55PM +0800, Qi Zheng wrote:
OK, will change the subject and description to:
s390: pgtable: also move pagetable_dtor() of PxD to pagetable_dtor_free()
To unify the PxD and PTE TLB free path, also move the pagetable_dto
On 2025/1/6 18:34, Alexander Gordeev wrote:
On Mon, Dec 30, 2024 at 05:07:42PM +0800, Qi Zheng wrote:
The pagetable_p*_dtor() are exactly the same except for the handling of
ptlock. If we make ptlock_free() handle the case where ptdesc->ptl is
NULL and remove VM_BUG_ON_PAGE() from pmd_ptlock_
Hi Gautam,
Thanks for reviewing this patch. My responses to your review comments
inline below:
Gautam Menghani writes:
> On Sun, Dec 22, 2024 at 07:32:29PM +0530, Vaibhav Jain wrote:
>> Update kvm-nested APIv2 documentation to include five new
>> Guest-State-Elements to fetch the hostwide count
Hi Gautam,
Thanks for reviewing this patch. My responses to your review comments
inline below:
Gautam Menghani writes:
> On Sun, Dec 22, 2024 at 07:32:32PM +0530, Vaibhav Jain wrote:
>> Introduce a new PMU named 'kvm-hv' to report Book3s kvm-hv specific
>> performance counters. This will expose
On 2025/1/6 18:36, Alexander Gordeev wrote:
On Mon, Dec 30, 2024 at 05:07:47PM +0800, Qi Zheng wrote:
To unify the PxD and PTE TLB free path, also move the pagetable_dtor() of
PMD|PUD|P4D to __tlb_remove_table().
The above and Subject are still incorrect: pagetable_dtor() is
called from pag
On 2025/1/6 18:32, Alexander Gordeev wrote:
On Mon, Dec 30, 2024 at 05:07:41PM +0800, Qi Zheng wrote:
Like PMD and PTE level page table, also add statistics for PUD and P4D
page table.
...
diff --git a/arch/s390/include/asm/tlb.h b/arch/s390/include/asm/tlb.h
index e95b2c8081eb8..b946964afc
On Sat, 2025-01-04 at 05:15 +0100, Arnd Bergmann wrote:
>
> I would assume that once removing CFG80211_WEXT becomes an option, we
> can just put the remaining parts of net/wireless/wext-*.c into both
> ps3_gelic and ipw2x00, duplicating and then simplifying the
> implementation. As far as I can te
On Mon, Dec 30, 2024 at 05:07:41PM +0800, Qi Zheng wrote:
> Like PMD and PTE level page table, also add statistics for PUD and P4D
> page table.
...
> diff --git a/arch/s390/include/asm/tlb.h b/arch/s390/include/asm/tlb.h
> index e95b2c8081eb8..b946964afce8e 100644
> --- a/arch/s390/include/asm/tlb
On Mon, Dec 30, 2024 at 05:07:42PM +0800, Qi Zheng wrote:
> The pagetable_p*_dtor() are exactly the same except for the handling of
> ptlock. If we make ptlock_free() handle the case where ptdesc->ptl is
> NULL and remove VM_BUG_ON_PAGE() from pmd_ptlock_free(), we can unify
> pagetable_p*_dtor() i
On Mon, Dec 30, 2024 at 05:07:47PM +0800, Qi Zheng wrote:
> To unify the PxD and PTE TLB free path, also move the pagetable_dtor() of
> PMD|PUD|P4D to __tlb_remove_table().
The above and Subject are still incorrect: pagetable_dtor() is
called from pagetable_dtor_free(), not from __tlb_remove_table
On 12/28/24 2:13 PM, Thomas Weißschuh wrote:
> Most users use this function through the BIN_ATTR_SIMPLE* macros,
> they can handle the switch transparently.
> Also adapt the two non-macro users in the same change.
Changes looks fine to me.
Acked-by: Madhavan Srinivasan
>
> Signed-off-by: Th
Hi Gautam,
Thanks for reviewing this patch. My responses to your review comments
inline below:
Gautam Menghani writes:
> On Sun, Dec 22, 2024 at 07:32:33PM +0530, Vaibhav Jain wrote:
>> Implement and setup necessary structures to send a prepolulated
>> Guest-State-Buffer(GSB) requesting hostw
On 2025/1/6 20:44, Alexander Gordeev wrote:
On Mon, Jan 06, 2025 at 07:02:17PM +0800, Qi Zheng wrote:
On Mon, Dec 30, 2024 at 05:07:47PM +0800, Qi Zheng wrote:
To unify the PxD and PTE TLB free path, also move the pagetable_dtor() of
PMD|PUD|P4D to __tlb_remove_table().
The above and Subje
On Mon, Jan 06, 2025 at 07:05:16PM +0800, Qi Zheng wrote:
> > I understand that you want to sort p.._free_tlb() routines, but please
>
> Yes, I thought it was a minor change, so I just did it.
>
> > do not move the code around or make a separate follow-up patch.
>
> Well, if you have a strong op
On 2025/1/6 20:36, Alexander Gordeev wrote:
On Mon, Jan 06, 2025 at 06:55:58PM +0800, Qi Zheng wrote:
+static inline void pagetable_dtor(struct ptdesc *ptdesc)
+{
+ struct folio *folio = ptdesc_folio(ptdesc);
+
+ ptlock_free(ptdesc);
+ __folio_clear_pgtable(folio);
+ l
On 2025/1/6 21:34, Alexander Gordeev wrote:
On Mon, Jan 06, 2025 at 07:05:16PM +0800, Qi Zheng wrote:
I understand that you want to sort p.._free_tlb() routines, but please
Yes, I thought it was a minor change, so I just did it.
do not move the code around or make a separate follow-up pat
…
> +++ b/arch/powerpc/platforms/book3s/vas-api.c
> @@ -490,7 +490,7 @@ static void vas_mmap_close(struct vm_area_struct *vma)
>* address. So it has to be the same VMA that is getting freed.
>*/
> if (WARN_ON(txwin->task_ref.vma != vma)) {
> - pr_err("Invalid paste
69 matches
Mail list logo