* [PATCH 06/26] mm/csky: Use general page fault accounting
[not found] <20200619160538.8641-1-peterx@redhat.com>
@ 2020-06-19 16:05 ` Peter Xu
2020-06-20 1:44 ` Guo Ren
0 siblings, 1 reply; 4+ messages in thread
From: Peter Xu @ 2020-06-19 16:05 UTC (permalink / raw)
To: linux-kernel, linux-mm
Cc: Gerald Schaefer, peterx, Andrew Morton, Andrea Arcangeli,
Will Deacon, Michael Ellerman, Linus Torvalds, Guo Ren,
linux-csky
Use the general page fault accounting by passing regs into handle_mm_fault().
It naturally solve the issue of multiple page fault accounting when page fault
retry happened.
CC: Guo Ren <guoren@kernel.org>
CC: linux-csky@vger.kernel.org
Signed-off-by: Peter Xu <peterx@redhat.com>
---
arch/csky/mm/fault.c | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/arch/csky/mm/fault.c b/arch/csky/mm/fault.c
index b14f97d3cb15..a3e0aa3ebb79 100644
--- a/arch/csky/mm/fault.c
+++ b/arch/csky/mm/fault.c
@@ -151,7 +151,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long write,
* the fault.
*/
fault = handle_mm_fault(vma, address, write ? FAULT_FLAG_WRITE : 0,
- NULL);
+ regs);
if (unlikely(fault & VM_FAULT_ERROR)) {
if (fault & VM_FAULT_OOM)
goto out_of_memory;
@@ -161,16 +161,6 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long write,
goto bad_area;
BUG();
}
- if (fault & VM_FAULT_MAJOR) {
- tsk->maj_flt++;
- perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MAJ, 1, regs,
- address);
- } else {
- tsk->min_flt++;
- perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MIN, 1, regs,
- address);
- }
-
up_read(&mm->mmap_sem);
return;
--
2.26.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 06/26] mm/csky: Use general page fault accounting
2020-06-19 16:05 ` [PATCH 06/26] mm/csky: Use general page fault accounting Peter Xu
@ 2020-06-20 1:44 ` Guo Ren
2020-06-20 16:08 ` Peter Xu
0 siblings, 1 reply; 4+ messages in thread
From: Guo Ren @ 2020-06-20 1:44 UTC (permalink / raw)
To: Peter Xu
Cc: Linux Kernel Mailing List, linux-mm, Gerald Schaefer,
Andrew Morton, Andrea Arcangeli, Will Deacon, Michael Ellerman,
Linus Torvalds, linux-csky
On Sat, Jun 20, 2020 at 12:05 AM Peter Xu <peterx@redhat.com> wrote:
>
> Use the general page fault accounting by passing regs into handle_mm_fault().
> It naturally solve the issue of multiple page fault accounting when page fault
> retry happened.
>
> CC: Guo Ren <guoren@kernel.org>
> CC: linux-csky@vger.kernel.org
> Signed-off-by: Peter Xu <peterx@redhat.com>
> ---
> arch/csky/mm/fault.c | 12 +-----------
> 1 file changed, 1 insertion(+), 11 deletions(-)
>
> diff --git a/arch/csky/mm/fault.c b/arch/csky/mm/fault.c
> index b14f97d3cb15..a3e0aa3ebb79 100644
> --- a/arch/csky/mm/fault.c
> +++ b/arch/csky/mm/fault.c
> @@ -151,7 +151,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long write,
> * the fault.
> */
> fault = handle_mm_fault(vma, address, write ? FAULT_FLAG_WRITE : 0,
> - NULL);
> + regs);
what's your kernel version ? (4th arg exsist ?)
/*
* If for any reason at all we couldn't handle the fault,
* make sure we exit gracefully rather than endlessly redo
* the fault.
*/
fault = handle_mm_fault(vma, address, write ? FAULT_FLAG_WRITE : 0);
if (unlikely(fault & VM_FAULT_ERROR)) {
--
Best Regards
Guo Ren
ML: https://lore.kernel.org/linux-csky/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 06/26] mm/csky: Use general page fault accounting
2020-06-20 1:44 ` Guo Ren
@ 2020-06-20 16:08 ` Peter Xu
0 siblings, 0 replies; 4+ messages in thread
From: Peter Xu @ 2020-06-20 16:08 UTC (permalink / raw)
To: Guo Ren
Cc: Linux Kernel Mailing List, linux-mm, Gerald Schaefer,
Andrew Morton, Andrea Arcangeli, Will Deacon, Michael Ellerman,
Linus Torvalds, linux-csky
On Sat, Jun 20, 2020 at 09:44:31AM +0800, Guo Ren wrote:
> On Sat, Jun 20, 2020 at 12:05 AM Peter Xu <peterx@redhat.com> wrote:
> >
> > Use the general page fault accounting by passing regs into handle_mm_fault().
> > It naturally solve the issue of multiple page fault accounting when page fault
> > retry happened.
> >
> > CC: Guo Ren <guoren@kernel.org>
> > CC: linux-csky@vger.kernel.org
> > Signed-off-by: Peter Xu <peterx@redhat.com>
> > ---
> > arch/csky/mm/fault.c | 12 +-----------
> > 1 file changed, 1 insertion(+), 11 deletions(-)
> >
> > diff --git a/arch/csky/mm/fault.c b/arch/csky/mm/fault.c
> > index b14f97d3cb15..a3e0aa3ebb79 100644
> > --- a/arch/csky/mm/fault.c
> > +++ b/arch/csky/mm/fault.c
> > @@ -151,7 +151,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long write,
> > * the fault.
> > */
> > fault = handle_mm_fault(vma, address, write ? FAULT_FLAG_WRITE : 0,
> > - NULL);
> > + regs);
> what's your kernel version ? (4th arg exsist ?)
> /*
> * If for any reason at all we couldn't handle the fault,
> * make sure we exit gracefully rather than endlessly redo
> * the fault.
> */
> fault = handle_mm_fault(vma, address, write ? FAULT_FLAG_WRITE : 0);
> if (unlikely(fault & VM_FAULT_ERROR)) {
Hi, Guo,
Sorry to be unclear. This patch is based on patch 1 in the same series:
https://lore.kernel.org/lkml/20200619160538.8641-2-peterx@redhat.com/
Thanks,
--
Peter Xu
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 06/26] mm/csky: Use general page fault accounting
[not found] <20200626223130.199227-1-peterx@redhat.com>
@ 2020-06-26 22:31 ` Peter Xu
0 siblings, 0 replies; 4+ messages in thread
From: Peter Xu @ 2020-06-26 22:31 UTC (permalink / raw)
To: linux-mm, linux-kernel
Cc: Andrew Morton, Linus Torvalds, Gerald Schaefer, Andrea Arcangeli,
Will Deacon, peterx, Michael Ellerman, Guo Ren, linux-csky
Use the general page fault accounting by passing regs into handle_mm_fault().
It naturally solve the issue of multiple page fault accounting when page fault
retry happened.
CC: Guo Ren <guoren@kernel.org>
CC: linux-csky@vger.kernel.org
Signed-off-by: Peter Xu <peterx@redhat.com>
---
arch/csky/mm/fault.c | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/arch/csky/mm/fault.c b/arch/csky/mm/fault.c
index b14f97d3cb15..a3e0aa3ebb79 100644
--- a/arch/csky/mm/fault.c
+++ b/arch/csky/mm/fault.c
@@ -151,7 +151,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long write,
* the fault.
*/
fault = handle_mm_fault(vma, address, write ? FAULT_FLAG_WRITE : 0,
- NULL);
+ regs);
if (unlikely(fault & VM_FAULT_ERROR)) {
if (fault & VM_FAULT_OOM)
goto out_of_memory;
@@ -161,16 +161,6 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long write,
goto bad_area;
BUG();
}
- if (fault & VM_FAULT_MAJOR) {
- tsk->maj_flt++;
- perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MAJ, 1, regs,
- address);
- } else {
- tsk->min_flt++;
- perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MIN, 1, regs,
- address);
- }
-
up_read(&mm->mmap_sem);
return;
--
2.26.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-06-26 22:31 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20200619160538.8641-1-peterx@redhat.com>
2020-06-19 16:05 ` [PATCH 06/26] mm/csky: Use general page fault accounting Peter Xu
2020-06-20 1:44 ` Guo Ren
2020-06-20 16:08 ` Peter Xu
[not found] <20200626223130.199227-1-peterx@redhat.com>
2020-06-26 22:31 ` Peter Xu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).