Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1590880 > unrolled thread
| Started by | Minchan Kim <minchan@kernel.org> |
|---|---|
| First post | 2017-03-02 08:20 +0100 |
| Last post | 2017-03-07 15:50 +0100 |
| Articles | 5 — 4 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[RFC 03/11] mm: remove SWAP_DIRTY in ttu Minchan Kim <minchan@kernel.org> - 2017-03-02 08:20 +0100
Re: [RFC 03/11] mm: remove SWAP_DIRTY in ttu "Hillf Danton" <hillf.zj@alibaba-inc.com> - 2017-03-02 08:40 +0100
Re: [RFC 03/11] mm: remove SWAP_DIRTY in ttu Minchan Kim <minchan@kernel.org> - 2017-03-03 04:00 +0100
Re: [RFC 03/11] mm: remove SWAP_DIRTY in ttu Anshuman Khandual <khandual@linux.vnet.ibm.com> - 2017-03-02 22:20 +0100
Re: [RFC 03/11] mm: remove SWAP_DIRTY in ttu "Kirill A. Shutemov" <kirill@shutemov.name> - 2017-03-07 15:50 +0100
| From | Minchan Kim <minchan@kernel.org> |
|---|---|
| Date | 2017-03-02 08:20 +0100 |
| Subject | [RFC 03/11] mm: remove SWAP_DIRTY in ttu |
| Message-ID | <tgtbP-7hM-3@gated-at.bofh.it> |
If we found lazyfree page is dirty, ttuo can just SetPageSwapBakced
in there like PG_mlocked page and just return with SWAP_FAIL which
is very natural because the page is not swappable right now so that
vmscan can activate it. There is no point to introduce new return
value SWAP_DIRTY in ttu at the moment.
Cc: Shaohua Li <shli@kernel.org>
Signed-off-by: Minchan Kim <minchan@kernel.org>
---
include/linux/rmap.h | 1 -
mm/rmap.c | 4 ++--
mm/vmscan.c | 3 ---
3 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/include/linux/rmap.h b/include/linux/rmap.h
index fee10d7..b556eef 100644
--- a/include/linux/rmap.h
+++ b/include/linux/rmap.h
@@ -298,6 +298,5 @@ static inline int page_mkclean(struct page *page)
#define SWAP_AGAIN 1
#define SWAP_FAIL 2
#define SWAP_MLOCK 3
-#define SWAP_DIRTY 4
#endif /* _LINUX_RMAP_H */
diff --git a/mm/rmap.c b/mm/rmap.c
index 8076347..3a14013 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -1424,7 +1424,8 @@ static int try_to_unmap_one(struct page *page, struct vm_area_struct *vma,
} else if (!PageSwapBacked(page)) {
/* dirty MADV_FREE page */
set_pte_at(mm, address, pvmw.pte, pteval);
- ret = SWAP_DIRTY;
+ SetPageSwapBacked(page);
+ ret = SWAP_FAIL;
page_vma_mapped_walk_done(&pvmw);
break;
}
@@ -1494,7 +1495,6 @@ static int page_mapcount_is_zero(struct page *page)
* SWAP_AGAIN - we missed a mapping, try again later
* SWAP_FAIL - the page is unswappable
* SWAP_MLOCK - page is mlocked.
- * SWAP_DIRTY - page is dirty MADV_FREE page
*/
int try_to_unmap(struct page *page, enum ttu_flags flags)
{
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 7aa89e3..91cef05 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -1141,9 +1141,6 @@ static unsigned long shrink_page_list(struct list_head *page_list,
if (page_mapped(page)) {
switch (ret = try_to_unmap(page,
ttu_flags | TTU_BATCH_FLUSH)) {
- case SWAP_DIRTY:
- SetPageSwapBacked(page);
- /* fall through */
case SWAP_FAIL:
nr_unmap_fail++;
goto activate_locked;
--
2.7.4
[toc] | [next] | [standalone]
| From | "Hillf Danton" <hillf.zj@alibaba-inc.com> |
|---|---|
| Date | 2017-03-02 08:40 +0100 |
| Message-ID | <tgtvb-7o3-1@gated-at.bofh.it> |
| In reply to | #1590880 |
On March 02, 2017 2:39 PM Minchan Kim wrote:
> @@ -1424,7 +1424,8 @@ static int try_to_unmap_one(struct page *page, struct vm_area_struct *vma,
> } else if (!PageSwapBacked(page)) {
> /* dirty MADV_FREE page */
Nit: enrich the comment please.
> set_pte_at(mm, address, pvmw.pte, pteval);
> - ret = SWAP_DIRTY;
> + SetPageSwapBacked(page);
> + ret = SWAP_FAIL;
> page_vma_mapped_walk_done(&pvmw);
> break;
> }
[toc] | [prev] | [next] | [standalone]
| From | Minchan Kim <minchan@kernel.org> |
|---|---|
| Date | 2017-03-03 04:00 +0100 |
| Message-ID | <tgLBL-2Y3-1@gated-at.bofh.it> |
| In reply to | #1590894 |
Hi Hillf,
On Thu, Mar 02, 2017 at 03:34:45PM +0800, Hillf Danton wrote:
>
> On March 02, 2017 2:39 PM Minchan Kim wrote:
> > @@ -1424,7 +1424,8 @@ static int try_to_unmap_one(struct page *page, struct vm_area_struct *vma,
> > } else if (!PageSwapBacked(page)) {
> > /* dirty MADV_FREE page */
>
> Nit: enrich the comment please.
I guess what you wanted is not my patch doing but one merged already
so I just sent a small clean patch against of patch merged onto mmotm
to make thig logic clear. You are already Cced in there so you can
see it. Hope it well. If you want others, please tell me.
I will do something to make it clear.
Thanks for the review.
> > set_pte_at(mm, address, pvmw.pte, pteval);
> > - ret = SWAP_DIRTY;
> > + SetPageSwapBacked(page);
> > + ret = SWAP_FAIL;
> > page_vma_mapped_walk_done(&pvmw);
> > break;
> > }
>
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@kvack.org. For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
[toc] | [prev] | [next] | [standalone]
| From | Anshuman Khandual <khandual@linux.vnet.ibm.com> |
|---|---|
| Date | 2017-03-02 22:20 +0100 |
| Message-ID | <tgGiL-80q-25@gated-at.bofh.it> |
| In reply to | #1590880 |
On 03/02/2017 12:09 PM, Minchan Kim wrote: > If we found lazyfree page is dirty, ttuo can just SetPageSwapBakced > in there like PG_mlocked page and just return with SWAP_FAIL which > is very natural because the page is not swappable right now so that > vmscan can activate it. There is no point to introduce new return > value SWAP_DIRTY in ttu at the moment. Yeah makes sense. In the process, SetPageSwapBacked marking of the page is moved from the shrink_page_list() to try_to_unmap_one().
[toc] | [prev] | [next] | [standalone]
| From | "Kirill A. Shutemov" <kirill@shutemov.name> |
|---|---|
| Date | 2017-03-07 15:50 +0100 |
| Message-ID | <tioB4-pr-23@gated-at.bofh.it> |
| In reply to | #1590880 |
On Thu, Mar 02, 2017 at 03:39:17PM +0900, Minchan Kim wrote: > If we found lazyfree page is dirty, ttuo can just SetPageSwapBakced > in there like PG_mlocked page and just return with SWAP_FAIL which > is very natural because the page is not swappable right now so that > vmscan can activate it. There is no point to introduce new return > value SWAP_DIRTY in ttu at the moment. > > Cc: Shaohua Li <shli@kernel.org> > Signed-off-by: Minchan Kim <minchan@kernel.org> Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> -- Kirill A. Shutemov
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web