From: rulinhuang <rulin.huang@intel.com>
To: urezki@gmail.com, bhe@redhat.com
Cc: colin.king@intel.com, hch@infradead.org,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
lstoakes@gmail.com, rulin.huang@intel.com, tianyou.li@intel.com,
tim.c.chen@intel.com, wangyang.guo@intel.com,
zhiguo.zhou@intel.com
Subject: Re: [PATCH v3] mm/vmalloc: lock contention optimization under multi-threading
Date: Fri, 23 Feb 2024 08:09:25 -0500 [thread overview]
Message-ID: <20240223130946.112890-1-rulin.huang@intel.com> (raw)
In-Reply-To: <ZddDdxcdD5hNpyUX@pc636>
>
> Hello, Rulinhuang!
>
> > Hi Uladzislau and Andrew, we have rebased it(Patch v4) on branch
> > mm-unstable and remeasured it. Could you kindly help confirm if this
> > is the right base to work on?
> > Compared to the previous result at kernel v6.7 with a 5% performance
> > gain on intel icelake(160 vcpu), we only had a 0.6% with this commit
> > base. But we think our modification still has some significance. On
> > the one hand, this does reduce a critical section. On the other hand,
> > we have a 4% performance gain on intel sapphire rapids(224 vcpu),
> > which suggests more performance improvement would likely be achieved
> > when the core count of processors increases to hundreds or even
> > thousands.
> > Thank you again for your comments.
> >
> According to the patch that was a correct rebase. Right a small delta on your
> 160 CPUs is because of removing a contention. As for bigger systems it is
> bigger impact, like you point here on your 224 vcpu results where you see %4
> perf improvement.
>
> So we should fix it. But the way how it is fixed is not optimal from my point of
> view, because the patch that is in question spreads the internals from
> alloc_vmap_area(), like inserting busy area, across many parts now.
>
> --
> Uladzislau Rezki
Our modifications in patch 5 not only achieve the original effect,
but also cancel the split of alloc_vmap_area()and setup_vmalloc_vm()
is placed without lock and lengthen the critical section.
Without splitting alloc_vmap_area(), putting setup_vmalloc_vm()
directly into it is all we can think of.
Regarding Baoquan’s changes, we think that:
We prefer put setup_vmalloc_vm() function not placed inside the
critical section and it is no need to lengthen the critical section.
We prefer use judging (vm_data) rather than
((!(va_flags & VMAP_RAM) && vm), and it is enough to deetermine the
conditions for assignment. The change seem to be wandering about the
judgment of va_flags.
Hi Uladzislau, could you please let us know if you have any better
suggestions on the modification scheme?
Thank you for your advice!
next prev parent reply other threads:[~2024-02-23 13:06 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-07 3:30 [PATCH] " rulinhuang
2024-02-07 9:24 ` Uladzislau Rezki
2024-02-09 11:51 ` rulinhuang
2024-02-20 9:05 ` [PATCH v2] " rulinhuang
2024-02-20 19:54 ` Andrew Morton
2024-02-21 3:34 ` rulinhuang
2024-02-20 9:12 ` [PATCH] " rulinhuang
2024-02-21 8:38 ` Uladzislau Rezki
2024-02-21 3:29 ` [PATCH v3] " rulinhuang
2024-02-21 8:36 ` Uladzislau Rezki
2024-02-22 12:09 ` rulinhuang
2024-02-22 12:10 ` rulinhuang
2024-02-22 12:52 ` Uladzislau Rezki
2024-02-22 15:36 ` Baoquan He
2024-02-23 13:09 ` rulinhuang [this message]
2024-02-22 12:05 ` [PATCH v4] " rulinhuang
2024-02-23 13:03 ` [PATCH v5] " rulinhuang
2024-02-23 14:03 ` Baoquan He
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=20240223130946.112890-1-rulin.huang@intel.com \
--to=rulin.huang@intel.com \
--cc=bhe@redhat.com \
--cc=colin.king@intel.com \
--cc=hch@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lstoakes@gmail.com \
--cc=tianyou.li@intel.com \
--cc=tim.c.chen@intel.com \
--cc=urezki@gmail.com \
--cc=wangyang.guo@intel.com \
--cc=zhiguo.zhou@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox