From: Roman Gushchin <roman.gushchin@linux.dev>
To: Shakeel Butt <shakeel.butt@linux.dev>
Cc: Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Michal Hocko <mhocko@kernel.org>,
Johannes Weiner <hannes@cmpxchg.org>
Subject: Re: [PATCH 1/2] mm: swap_cgroup: allocate swap_cgroup map using vcalloc()
Date: Fri, 15 Nov 2024 22:46:35 +0000 [thread overview]
Message-ID: <ZzfPS_YFeWVhySQJ@google.com> (raw)
In-Reply-To: <tygpha75uaeztnihylxyiguts2xfdzwr4arz4dwsygmbspdubr@gqwcze4d5ufd>
On Fri, Nov 15, 2024 at 12:17:43PM -0800, Shakeel Butt wrote:
> On Fri, Nov 15, 2024 at 07:02:28PM +0000, Roman Gushchin wrote:
> > Currently swap_cgroup's map is constructed as a vmalloc()'s-based
> > array of pointers to individual struct pages. This brings an
> > unnecessary complexity into the code.
> >
> > This patch turns the swap_cgroup's map into a single space
> > allocated by vcalloc().
> >
> > Signed-off-by: Roman Gushchin <roman.gushchin@linux.dev>
>
> Acked-by: Shakeel Butt <shakeel.butt@linux.dev>
Thank you for reviewing the patchset!
>
> [...]
> > @@ -215,19 +169,8 @@ void swap_cgroup_swapoff(int type)
> > mutex_lock(&swap_cgroup_mutex);
> > ctrl = &swap_cgroup_ctrl[type];
> > map = ctrl->map;
> > - length = ctrl->length;
> > ctrl->map = NULL;
> > - ctrl->length = 0;
> > mutex_unlock(&swap_cgroup_mutex);
> >
> > - if (map) {
> > - for (i = 0; i < length; i++) {
> > - struct page *page = map[i];
> > - if (page)
> > - __free_page(page);
> > - if (!(i % SWAP_CLUSTER_MAX))
> > - cond_resched();
> > - }
> > - vfree(map);
> > - }
> > + kvfree(map);
>
> Any reason to use kvfree() instead of just vfree()?
No, you're right, vfree() is a better choice here.
Andrew, do you prefer a v2 or it's easier to master a fix-up?
Thank you!
prev parent reply other threads:[~2024-11-15 22:46 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-15 19:02 [PATCH 1/2] mm: swap_cgroup: allocate swap_cgroup map using vcalloc() Roman Gushchin
2024-11-15 19:02 ` [PATCH 2/2] mm: swap_cgroup: get rid of __lookup_swap_cgroup() Roman Gushchin
2024-11-15 20:19 ` Shakeel Butt
2024-11-15 20:17 ` [PATCH 1/2] mm: swap_cgroup: allocate swap_cgroup map using vcalloc() Shakeel Butt
2024-11-15 22:46 ` Roman Gushchin [this message]
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=ZzfPS_YFeWVhySQJ@google.com \
--to=roman.gushchin@linux.dev \
--cc=akpm@linux-foundation.org \
--cc=hannes@cmpxchg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@kernel.org \
--cc=shakeel.butt@linux.dev \
/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.