The stub versions of __real_pte() etc are only used with HPT & 4K pages,
so move them into the hash-4k.h header.
Signed-off-by: Michael Ellerman
---
arch/powerpc/include/asm/book3s/64/hash-4k.h | 20 +++
arch/powerpc/include/asm/book3s/64/pgtable.h | 26
2 files
The mmu_hash_ops are only assigned to during boot, so mark them
__ro_after_init to prevent any further modification.
Signed-off-by: Michael Ellerman
---
arch/powerpc/mm/book3s64/hash_utils.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/mm/book3s64/hash_utils.c
register_pmu_pm_ops() is only called at init time, via
device_initcall(), so can be marked __init. The driver can't be built as
a module.
Signed-off-by: Michael Ellerman
---
drivers/macintosh/via-pmu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/macintosh/via-pmu.
Got the following build failure on v6.11-rc4, see
https://github.com/chleroy/linux/actions/runs/10485680041/job/29042302519
builtin-daemon.c: In function 'cmd_session_list':
Error: builtin-daemon.c:692:16: error: format '%llu' expects argument of
type 'long long unsigned int', but argument 4 has
Le 21/08/2024 à 10:18, Qi Zheng a écrit :
> In handle_pte_fault(), we may modify the vmf->pte after acquiring the
> vmf->ptl, so convert it to using pte_offset_map_maywrite_nolock(). But
> since we already do the pte_same() check, so there is no need to get
> pmdval to do pmd_same() check, just p
Haren Myneni writes:
> _be32 type is defined for some elements in pseries_hp_errorlog
> struct but also used them u32 after be32_to_cpu() conversion.
>
> Example: In handle_dlpar_errorlog()
> hp_elog->_drc_u.drc_index = be32_to_cpu(hp_elog->_drc_u.drc_index);
>
> And later assigned to u32 type
> d
Hi all,
As proposed by David Hildenbrand [1], this series introduces the following two
new helper functions to replace pte_offset_map_nolock().
1. pte_offset_map_readonly_nolock()
2. pte_offset_map_maywrite_nolock()
As the name suggests, pte_offset_map_readonly_nolock() is used for read-only
cas
Currently, the usage of pte_offset_map_nolock() can be divided into the
following two cases:
1) After acquiring PTL, only read-only operations are performed on the PTE
page. In this case, the RCU lock in pte_offset_map_nolock() will ensure
that the PTE page will not be freed, and there is no
In do_adjust_pte(), we may modify the pte entry. At this time, the write
lock of mmap_lock is not held, and the pte_same() check is not performed
after the PTL held. The corresponding pmd entry may have been modified
concurrently. Therefore, in order to ensure the stability if pmd entry,
use pte_of
In assert_pte_locked(), we just get the ptl and assert if it was already
held, so convert it to using pte_offset_map_readonly_nolock().
Signed-off-by: Qi Zheng
---
arch/powerpc/mm/pgtable.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/mm/pgtable.c b/arch/power
In filemap_fault_recheck_pte_none(), we just do pte_none() check, so
convert it to using pte_offset_map_readonly_nolock().
Signed-off-by: Qi Zheng
---
mm/filemap.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mm/filemap.c b/mm/filemap.c
index d87c858465962..491eb92d6db
In __collapse_huge_page_swapin(), we just use the ptl for pte_same() check
in do_swap_page(). In other places, we directly use pte_offset_map_lock(),
so convert it to using pte_offset_map_readonly_nolock().
Signed-off-by: Qi Zheng
---
mm/khugepaged.c | 6 +-
1 file changed, 5 insertions(+),
In handle_pte_fault(), we may modify the vmf->pte after acquiring the
vmf->ptl, so convert it to using pte_offset_map_maywrite_nolock(). But
since we already do the pte_same() check, so there is no need to get
pmdval to do pmd_same() check, just pass NULL to pmdvalp parameter.
Signed-off-by: Qi Zh
In collapse_pte_mapped_thp(), we may modify the pte and pmd entry after
acquring the ptl, so convert it to using pte_offset_map_maywrite_nolock().
At this time, the write lock of mmap_lock is not held, and the pte_same()
check is not performed after the PTL held. So we should get pgt_pmd and do
pmd
In copy_pte_range(), we may modify the src_pte entry after holding the
src_ptl, so convert it to using pte_offset_map_maywrite_nolock(). But
since we already hold the write lock of mmap_lock, there is no need to
get pmdval to do pmd_same() check, just pass NULL to pmdvalp parameter.
Signed-off-by:
In move_ptes(), we may modify the new_pte after acquiring the new_ptl, so
convert it to using pte_offset_map_maywrite_nolock(). But since we already
hold the exclusive mmap_lock, there is no need to get pmdval to do
pmd_same() check, just pass NULL to pmdvalp parameter.
Signed-off-by: Qi Zheng
--
In the caller of map_pte(), we may modify the pvmw->pte after acquiring
the pvmw->ptl, so convert it to using pte_offset_map_maywrite_nolock(). At
this time, the write lock of mmap_lock is not held, and the pte_same()
check is not performed after the pvmw->ptl held, so we should get pmdval
and do p
In move_pages_pte(), we may modify the dst_pte and src_pte after acquiring
the ptl, so convert it to using pte_offset_map_maywrite_nolock(). But
since we already do the pte_same() check, there is no need to get pmdval
to do pmd_same() check, just pass NULL to pmdvalp parameter.
Signed-off-by: Qi Z
In walk_pte_range(), we may modify the pte entry after holding the ptl, so
convert it to using pte_offset_map_maywrite_nolock(). At this time, the
write lock of mmap_lock is not held, and the pte_same() check is not
performed after the ptl held, so we should get pmdval and do pmd_same()
check to en
Now no users are using the pte_offset_map_nolock(), remove it.
Signed-off-by: Qi Zheng
---
Documentation/mm/split_page_table_lock.rst | 3 ---
include/linux/mm.h | 2 --
mm/pgtable-generic.c | 21 -
3 files changed, 26 deletions
In retract_page_tables(), we may modify the pmd entry after acquiring the
pml and ptl, so we should also check whether the pmd entry is stable.
Using pte_offset_map_maywrite_nolock() + pmd_same() to do it.
Signed-off-by: Qi Zheng
---
mm/khugepaged.c | 17 -
1 file changed, 16 ins
On 2024/8/21 17:17, LEROY Christophe wrote:
Le 21/08/2024 à 10:18, Qi Zheng a écrit :
In handle_pte_fault(), we may modify the vmf->pte after acquiring the
vmf->ptl, so convert it to using pte_offset_map_maywrite_nolock(). But
since we already do the pte_same() check, so there is no need to
On 21.08.24 11:24, Qi Zheng wrote:
On 2024/8/21 17:17, LEROY Christophe wrote:
Le 21/08/2024 à 10:18, Qi Zheng a écrit :
In handle_pte_fault(), we may modify the vmf->pte after acquiring the
vmf->ptl, so convert it to using pte_offset_map_maywrite_nolock(). But
since we already do the pte_s
On 2024/8/21 17:41, David Hildenbrand wrote:
On 21.08.24 11:24, Qi Zheng wrote:
On 2024/8/21 17:17, LEROY Christophe wrote:
Le 21/08/2024 à 10:18, Qi Zheng a écrit :
In handle_pte_fault(), we may modify the vmf->pte after acquiring the
vmf->ptl, so convert it to using pte_offset_map_may
On 21.08.24 11:51, Qi Zheng wrote:
On 2024/8/21 17:41, David Hildenbrand wrote:
On 21.08.24 11:24, Qi Zheng wrote:
On 2024/8/21 17:17, LEROY Christophe wrote:
Le 21/08/2024 à 10:18, Qi Zheng a écrit :
In handle_pte_fault(), we may modify the vmf->pte after acquiring the
vmf->ptl, so con
On Wed, Aug 21, 2024, 6:06 AM LEROY Christophe <
christophe.ler...@cs-soprasteria.com> wrote:
> Got the following build failure on v6.11-rc4, see
> https://github.com/chleroy/linux/actions/runs/10485680041/job/29042302519
>
>
>
>
> Can you try with
https://git.kernel.org/pub/scm/linux/kernel/git/p
On 2024/8/21 17:53, David Hildenbrand wrote:
On 21.08.24 11:51, Qi Zheng wrote:
On 2024/8/21 17:41, David Hildenbrand wrote:
On 21.08.24 11:24, Qi Zheng wrote:
On 2024/8/21 17:17, LEROY Christophe wrote:
Le 21/08/2024 à 10:18, Qi Zheng a écrit :
In handle_pte_fault(), we may modify
On Tue, 20 Aug 2024 11:02:05 +0800
Tong Tiangen wrote:
> 在 2024/8/19 19:56, Jonathan Cameron 写道:
> > On Tue, 28 May 2024 16:59:13 +0800
> > Tong Tiangen wrote:
> >
> >> Currently, many scenarios that can tolerate memory errors when copying page
> >> have been supported in the kernel[1~5], all
Hi,
On May 10, 2015 at 01:19:52 +0200, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki
>
> If tick_broadcast_enter() fails in cpuidle_enter_state(),
> try to find another idle state to enter instead of invoking
> default_idle_call() immediately and returning -EBUSY which
> should increase the
On Wed, Aug 21, 2024 at 1:15 PM Dhruva Gole wrote:
>
> Hi,
>
> On May 10, 2015 at 01:19:52 +0200, Rafael J. Wysocki wrote:
> > From: Rafael J. Wysocki
> >
> > If tick_broadcast_enter() fails in cpuidle_enter_state(),
> > try to find another idle state to enter instead of invoking
> > default_idle
在 2024/8/21 19:28, Jonathan Cameron 写道:
On Tue, 20 Aug 2024 11:02:05 +0800
Tong Tiangen wrote:
在 2024/8/19 19:56, Jonathan Cameron 写道:
On Tue, 28 May 2024 16:59:13 +0800
Tong Tiangen wrote:
Currently, many scenarios that can tolerate memory errors when copying page
have been supporte
On Mon, Aug 19, 2024 at 10:24:01PM GMT, Michael Ellerman wrote:
> Fixes: 06220d78f24a ("powerpc/pseries: Introduce rwlock to gatekeep DTLB
> usage")
> Signed-off-by: Michael Ellerman
> ---
> arch/powerpc/include/asm/dtl.h| 3 ++-
> arch/powerpc/platforms/pseries/dtl.c | 8
>
On 8/20/24 6:04 AM, Michael Ellerman wrote:
> The overflow/underflow conditions in pata_macio_qc_prep() should never
> happen. But if they do there's no need to kill the system entirely, a
> WARN and failing the IO request should be sufficient and might allow the
> system to keep running.
WARN
Sorry to write a reply to this old mail. But after years, I finally
decided to tackle an "old" problem that has come up...
And unfortunately it is related to this patch. But let me explain.
On 9/16/21 4:52 PM, Christophe Leroy wrote:
dcbz instruction shouldn't be used on non-cached memory. Using
_be32 type is defined for some elements in pseries_hp_errorlog
struct but also used them u32 after be32_to_cpu() conversion.
Example: In handle_dlpar_errorlog()
hp_elog->_drc_u.drc_index = be32_to_cpu(hp_elog->_drc_u.drc_index);
And later assigned to u32 type
dlpar_cpu() - u32 drc_index = hp_elog
In the powerpc-pseries specific implementation, the IO hotplug
event is handled in the user space (drmgr tool). But update the
device tree and /dev/mem access to allocate buffers for some
RTAS calls are restricted when the kernel lockdown feature is
enabled. For the DLPAR IO REMOVE, the correspondi
In the powerpc-pseries specific implementation, the IO hotplug
event is handled in the user space (drmgr tool). For the DLPAR
IO ADD, the corresponding device tree nodes and properties will
be added to the device tree after the device enable. The user
space (drmgr tool) uses configure_connector RTA
On Thu, Aug 22, 2024 at 12:13:52AM +0300, Sergei Shtylyov wrote:
> On 8/20/24 6:04 AM, Michael Ellerman wrote:
>
> > The overflow/underflow conditions in pata_macio_qc_prep() should never
> > happen. But if they do there's no need to kill the system entirely, a
> > WARN and failing the IO request
Thanks,
applied to the dma-mapping tree for Linux 6.12.
+ CC Christoph Hellwig
Hi,
Le 22/08/2024 à 00:39, Christian Lamparter a écrit :
> [Vous ne recevez pas souvent de courriers de
> christian.lampar...@isd.uni-stuttgart.de. Découvrez pourquoi ceci est
> important à https://aka.ms/LearnAboutSenderIdentification ]
>
> Sorry to write a reply to this o
On Thu, Aug 22, 2024 at 05:25:10AM +, LEROY Christophe wrote:
> > and this results in a call to dma_direct_allocation(), which has one
> > innocent looking memset():
>
>
> memset() can't be used on non-cached memory, memset_io() has to be used
> instead.
No, we use memset on uncached memory
Le 22/08/2024 à 07:32, Christoph Hellwig a écrit :
> On Thu, Aug 22, 2024 at 05:25:10AM +, LEROY Christophe wrote:
>>> and this results in a call to dma_direct_allocation(), which has one
>>> innocent looking memset():
>>
>>
>> memset() can't be used on non-cached memory, memset_io() has to b
42 matches
Mail list logo