Re: git: 42f722e721cd - main - amd64: store pcids pmap data in pcpu zone
- In reply to: Konstantin Belousov : "git: 42f722e721cd - main - amd64: store pcids pmap data in pcpu zone"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 06 May 2023 00:26:53 UTC
On 2023-May-02 11:39:55 +0000, Konstantin Belousov <kib@FreeBSD.org> wrote: >The branch main has been updated by kib: > >URL: https://cgit.FreeBSD.org/src/commit/?id=42f722e721cd010ae5759a4b0d3b7b93c2b9cad2 > >commit 42f722e721cd010ae5759a4b0d3b7b93c2b9cad2 >Author: Konstantin Belousov <kib@FreeBSD.org> >AuthorDate: 2023-05-01 05:17:45 +0000 >Commit: Konstantin Belousov <kib@FreeBSD.org> >CommitDate: 2023-05-02 11:32:47 +0000 > > amd64: store pcids pmap data in pcpu zone > > This change eliminates the struct pmap_pcid array embedded into struct > pmap and sized by MAXCPU, which would bloat with MAXCPU increase. Also > it removes false sharing of cache lines, since the array elements are > mostly locally accessed by corresponding CPUs. > > Suggested by: mjg > Reviewed by: markj > Tested by: pho > Sponsored by: The FreeBSD Foundation > Differential revision: https://reviews.freebsd.org/D39890 This breaks the !SMP case: Whilst references to pm_pcids have been replaced in the SMP case, there are still references to pmap->pm_pcids[0] in the !SMP cane. -- Peter Jeremy