Skip to content

Commit fec734e

Browse files
committed
Merge tag 'riscv-for-linus-v6.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux
Pull RISC-V fixes from Paul Walmsley: - A race-free implementation of pudp_huge_get_and_clear() (based on the x86 code) - A MAINTAINERS update to my E-mail address * tag 'riscv-for-linus-v6.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: MAINTAINERS: Update Paul Walmsley's E-mail address riscv: Use an atomic xchg in pudp_huge_get_and_clear()
2 parents d4df174 + e241080 commit fec734e

File tree

2 files changed

+21
-4
lines changed

2 files changed

+21
-4
lines changed

MAINTAINERS

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1772,7 +1772,7 @@ F: drivers/staging/iio/*/ad*
17721772
X: drivers/iio/*/adjd*
17731773

17741774
ANALOGBITS PLL LIBRARIES
1775-
M: Paul Walmsley <paul.walmsley@sifive.com>
1775+
M: Paul Walmsley <pjw@kernel.org>
17761776
M: Samuel Holland <samuel.holland@sifive.com>
17771777
S: Supported
17781778
F: drivers/clk/analogbits/*
@@ -19296,7 +19296,7 @@ S: Maintained
1929619296
F: drivers/pci/controller/dwc/*layerscape*
1929719297

1929819298
PCI DRIVER FOR FU740
19299-
M: Paul Walmsley <paul.walmsley@sifive.com>
19299+
M: Paul Walmsley <pjw@kernel.org>
1930019300
M: Greentime Hu <greentime.hu@sifive.com>
1930119301
M: Samuel Holland <samuel.holland@sifive.com>
1930219302
L: linux-pci@vger.kernel.org
@@ -21656,7 +21656,7 @@ F: Documentation/devicetree/bindings/timer/andestech,plmt0.yaml
2165621656
F: arch/riscv/boot/dts/andes/
2165721657

2165821658
RISC-V ARCHITECTURE
21659-
M: Paul Walmsley <paul.walmsley@sifive.com>
21659+
M: Paul Walmsley <pjw@kernel.org>
2166021660
M: Palmer Dabbelt <palmer@dabbelt.com>
2166121661
M: Albert Ou <aou@eecs.berkeley.edu>
2166221662
R: Alexandre Ghiti <alex@ghiti.fr>
@@ -23108,7 +23108,7 @@ S: Maintained
2310823108
F: drivers/watchdog/simatic-ipc-wdt.c
2310923109

2311023110
SIFIVE DRIVERS
23111-
M: Paul Walmsley <paul.walmsley@sifive.com>
23111+
M: Paul Walmsley <pjw@kernel.org>
2311223112
M: Samuel Holland <samuel.holland@sifive.com>
2311323113
L: linux-riscv@lists.infradead.org
2311423114
S: Supported

arch/riscv/include/asm/pgtable.h

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -942,6 +942,23 @@ static inline int pudp_test_and_clear_young(struct vm_area_struct *vma,
942942
return ptep_test_and_clear_young(vma, address, (pte_t *)pudp);
943943
}
944944

945+
#define __HAVE_ARCH_PUDP_HUGE_GET_AND_CLEAR
946+
static inline pud_t pudp_huge_get_and_clear(struct mm_struct *mm,
947+
unsigned long address, pud_t *pudp)
948+
{
949+
#ifdef CONFIG_SMP
950+
pud_t pud = __pud(xchg(&pudp->pud, 0));
951+
#else
952+
pud_t pud = *pudp;
953+
954+
pud_clear(pudp);
955+
#endif
956+
957+
page_table_check_pud_clear(mm, pud);
958+
959+
return pud;
960+
}
961+
945962
static inline int pud_young(pud_t pud)
946963
{
947964
return pte_young(pud_pte(pud));

0 commit comments

Comments
 (0)