From: Andrew Morton <akpm@linux-foundation.org>
To: mm-commits@vger.kernel.org, willy@infradead.org, vbabka@suse.cz,
shy828301@gmail.com, rppt@kernel.org, minchan@kernel.org,
hannes@cmpxchg.org, zhengqi.arch@bytedance.com,
akpm@linux-foundation.org
Subject: [merged mm-stable] ksm-convert-ksm_mm_slotmm_list-to-ksm_mm_slotmm_node.patch removed from -mm tree
Date: Mon, 03 Oct 2022 14:04:32 -0700 [thread overview]
Message-ID: <20221003210433.5A045C433D6@smtp.kernel.org> (raw)
The quilt patch titled
Subject: ksm: convert ksm_mm_slot.mm_list to ksm_mm_slot.mm_node
has been removed from the -mm tree. Its filename was
ksm-convert-ksm_mm_slotmm_list-to-ksm_mm_slotmm_node.patch
This patch was dropped because it was merged into the mm-stable branch
of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
------------------------------------------------------
From: Qi Zheng <zhengqi.arch@bytedance.com>
Subject: ksm: convert ksm_mm_slot.mm_list to ksm_mm_slot.mm_node
Date: Wed, 31 Aug 2022 11:19:49 +0800
In order to use common struct mm_slot, convert ksm_mm_slot.mm_list to
ksm_mm_slot.mm_node in advance, no functional change.
Link: https://lkml.kernel.org/r/20220831031951.43152-6-zhengqi.arch@bytedance.com
Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Yang Shi <shy828301@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
mm/ksm.c | 40 ++++++++++++++++++++--------------------
1 file changed, 20 insertions(+), 20 deletions(-)
--- a/mm/ksm.c~ksm-convert-ksm_mm_slotmm_list-to-ksm_mm_slotmm_node
+++ a/mm/ksm.c
@@ -114,13 +114,13 @@
/**
* struct ksm_mm_slot - ksm information per mm that is being scanned
* @link: link to the mm_slots hash list
- * @mm_list: link into the mm_slots list, rooted in ksm_mm_head
+ * @mm_node: link into the mm_slots list, rooted in ksm_mm_head
* @rmap_list: head for this mm_slot's singly-linked list of rmap_items
* @mm: the mm that this information is valid for
*/
struct ksm_mm_slot {
struct hlist_node link;
- struct list_head mm_list;
+ struct list_head mm_node;
struct ksm_rmap_item *rmap_list;
struct mm_struct *mm;
};
@@ -231,7 +231,7 @@ static LIST_HEAD(migrate_nodes);
static DEFINE_HASHTABLE(mm_slots_hash, MM_SLOTS_HASH_BITS);
static struct ksm_mm_slot ksm_mm_head = {
- .mm_list = LIST_HEAD_INIT(ksm_mm_head.mm_list),
+ .mm_node = LIST_HEAD_INIT(ksm_mm_head.mm_node),
};
static struct ksm_scan ksm_scan = {
.mm_slot = &ksm_mm_head,
@@ -981,8 +981,8 @@ static int unmerge_and_remove_all_rmap_i
int err = 0;
spin_lock(&ksm_mmlist_lock);
- ksm_scan.mm_slot = list_entry(ksm_mm_head.mm_list.next,
- struct ksm_mm_slot, mm_list);
+ ksm_scan.mm_slot = list_entry(ksm_mm_head.mm_node.next,
+ struct ksm_mm_slot, mm_node);
spin_unlock(&ksm_mmlist_lock);
for (mm_slot = ksm_scan.mm_slot; mm_slot != &ksm_mm_head;
@@ -1006,11 +1006,11 @@ static int unmerge_and_remove_all_rmap_i
mmap_read_unlock(mm);
spin_lock(&ksm_mmlist_lock);
- ksm_scan.mm_slot = list_entry(mm_slot->mm_list.next,
- struct ksm_mm_slot, mm_list);
+ ksm_scan.mm_slot = list_entry(mm_slot->mm_node.next,
+ struct ksm_mm_slot, mm_node);
if (ksm_test_exit(mm)) {
hash_del(&mm_slot->link);
- list_del(&mm_slot->mm_list);
+ list_del(&mm_slot->mm_node);
spin_unlock(&ksm_mmlist_lock);
free_mm_slot(mm_slot);
@@ -2253,7 +2253,7 @@ static struct ksm_rmap_item *scan_get_ne
struct vma_iterator vmi;
int nid;
- if (list_empty(&ksm_mm_head.mm_list))
+ if (list_empty(&ksm_mm_head.mm_node))
return NULL;
slot = ksm_scan.mm_slot;
@@ -2294,7 +2294,7 @@ static struct ksm_rmap_item *scan_get_ne
root_unstable_tree[nid] = RB_ROOT;
spin_lock(&ksm_mmlist_lock);
- slot = list_entry(slot->mm_list.next, struct ksm_mm_slot, mm_list);
+ slot = list_entry(slot->mm_node.next, struct ksm_mm_slot, mm_node);
ksm_scan.mm_slot = slot;
spin_unlock(&ksm_mmlist_lock);
/*
@@ -2367,8 +2367,8 @@ no_vmas:
remove_trailing_rmap_items(ksm_scan.rmap_list);
spin_lock(&ksm_mmlist_lock);
- ksm_scan.mm_slot = list_entry(slot->mm_list.next,
- struct ksm_mm_slot, mm_list);
+ ksm_scan.mm_slot = list_entry(slot->mm_node.next,
+ struct ksm_mm_slot, mm_node);
if (ksm_scan.address == 0) {
/*
* We've completed a full scan of all vmas, holding mmap_lock
@@ -2380,7 +2380,7 @@ no_vmas:
* mmap_lock then protects against race with MADV_MERGEABLE).
*/
hash_del(&slot->link);
- list_del(&slot->mm_list);
+ list_del(&slot->mm_node);
spin_unlock(&ksm_mmlist_lock);
free_mm_slot(slot);
@@ -2429,7 +2429,7 @@ static void ksm_do_scan(unsigned int sca
static int ksmd_should_run(void)
{
- return (ksm_run & KSM_RUN_MERGE) && !list_empty(&ksm_mm_head.mm_list);
+ return (ksm_run & KSM_RUN_MERGE) && !list_empty(&ksm_mm_head.mm_node);
}
static int ksm_scan_thread(void *nothing)
@@ -2526,7 +2526,7 @@ int __ksm_enter(struct mm_struct *mm)
return -ENOMEM;
/* Check ksm_run too? Would need tighter locking */
- needs_wakeup = list_empty(&ksm_mm_head.mm_list);
+ needs_wakeup = list_empty(&ksm_mm_head.mm_node);
spin_lock(&ksm_mmlist_lock);
insert_to_mm_slots_hash(mm, mm_slot);
@@ -2541,9 +2541,9 @@ int __ksm_enter(struct mm_struct *mm)
* missed: then we might as well insert at the end of the list.
*/
if (ksm_run & KSM_RUN_UNMERGE)
- list_add_tail(&mm_slot->mm_list, &ksm_mm_head.mm_list);
+ list_add_tail(&mm_slot->mm_node, &ksm_mm_head.mm_node);
else
- list_add_tail(&mm_slot->mm_list, &ksm_scan.mm_slot->mm_list);
+ list_add_tail(&mm_slot->mm_node, &ksm_scan.mm_slot->mm_node);
spin_unlock(&ksm_mmlist_lock);
set_bit(MMF_VM_MERGEABLE, &mm->flags);
@@ -2574,11 +2574,11 @@ void __ksm_exit(struct mm_struct *mm)
if (mm_slot && ksm_scan.mm_slot != mm_slot) {
if (!mm_slot->rmap_list) {
hash_del(&mm_slot->link);
- list_del(&mm_slot->mm_list);
+ list_del(&mm_slot->mm_node);
easy_to_free = 1;
} else {
- list_move(&mm_slot->mm_list,
- &ksm_scan.mm_slot->mm_list);
+ list_move(&mm_slot->mm_node,
+ &ksm_scan.mm_slot->mm_node);
}
}
spin_unlock(&ksm_mmlist_lock);
_
Patches currently in -mm which might be from zhengqi.arch@bytedance.com are
mm-use-update_mmu_tlb-on-the-second-thread.patch
loongarch-update-local-tlb-if-pte-entry-exists.patch
reply other threads:[~2022-10-03 21:04 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221003210433.5A045C433D6@smtp.kernel.org \
--to=akpm@linux-foundation.org \
--cc=hannes@cmpxchg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=minchan@kernel.org \
--cc=mm-commits@vger.kernel.org \
--cc=rppt@kernel.org \
--cc=shy828301@gmail.com \
--cc=vbabka@suse.cz \
--cc=willy@infradead.org \
--cc=zhengqi.arch@bytedance.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.