public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Lei Liu <liulei.rjpt@vivo.com>
Cc: "Arve Hjønnevåg" <arve@android.com>,
	"Todd Kjos" <tkjos@android.com>,
	"Martijn Coenen" <maco@android.com>,
	"Joel Fernandes" <joel@joelfernandes.org>,
	"Christian Brauner" <brauner@kernel.org>,
	"Carlos Llamas" <cmllamas@google.com>,
	"Suren Baghdasaryan" <surenb@google.com>,
	linux-kernel@vger.kernel.org, opensource.kernel@vivo.com
Subject: Re: [PATCH] binder_alloc: replace kcalloc with kvcalloc to mitigate OOM issues
Date: Thu, 13 Jun 2024 15:42:18 +0200	[thread overview]
Message-ID: <2024061359-deniable-boundless-96c3@gregkh> (raw)
In-Reply-To: <39eaba63-0e18-439a-82ac-834505e6473e@vivo.com>

On Thu, Jun 13, 2024 at 08:01:39PM +0800, Lei Liu wrote:
> On 2024/6/12 17:58, Greg Kroah-Hartman wrote:
> > On Tue, Jun 11, 2024 at 04:56:28PM +0800, Lei Liu wrote:
> > 
> > > In binder_alloc, there is a frequent need for order3 memory
> > > allocation, especially on small-memory mobile devices, which can
> > > lead to OOM and cause foreground applications to be killed,
> > > resulting in flashbacks. We use kvcalloc to allocate memory, which
> > > can reduce system OOM occurrences, as well as decrease the time and
> > > probability of failure for order3 memory allocations. Additionally,
> > > it can also improve the throughput of binder (as verified by
> > > Google's binder_benchmark testing tool). We have conducted multiple
> > > tests on an 8GB memory phone, and the performance of kvcalloc is
> > > better. Below is a partial excerpt of the test data. throughput =
> > > (size * Iterations)/Time Benchmark-kvcalloc Time CPU Iterations
> > > throughput(Gb/s)
> > > ----------------------------------------------------------------
> > > BM_sendVec_binder-4096 30926 ns 20481 ns 34457 4563.66↑
> > > BM_sendVec_binder-8192 42667 ns 30837 ns 22631 4345.11↑
> > > BM_sendVec_binder-16384 67586 ns 52381 ns 13318 3228.51↑
> > > BM_sendVec_binder-32768 116496 ns 94893 ns 7416 2085.97↑
> > > BM_sendVec_binder-65536 265482 ns 209214 ns 3530 871.40↑
> > > Benchmark-kvcalloc Time CPU Iterations throughput(Gb/s)
> > Both benchmarks are the same? Or is this labeled incorrectly?
> I'm really sorry, I got the title of the table wrong, here are the updated
> data:
> throughput = (size * Iterations)/Time
> kvcalloc->kvmalloc:
> Benchmark-kvcalloc    Time    CPU    Iterations    throughput(Gb/s)
> ----------------------------------------------------------------
> BM_sendVec_binder-4096    30926 ns    20481 ns    34457    4563.66↑
> BM_sendVec_binder-8192    42667 ns    30837 ns    22631    4345.11↑
> BM_sendVec_binder-16384    67586 ns    52381 ns    13318    3228.51↑
> BM_sendVec_binder-32768    116496 ns    94893 ns    7416    2085.97↑
> BM_sendVec_binder-65536    265482 ns    209214 ns    3530    871.40↑
> 
> kcalloc->kmalloc
> Benchmark-kcalloc    Time    CPU    Iterations    throughput(Gb/s)
> ----------------------------------------------------------------
> BM_sendVec_binder-4096    39070 ns    24207 ns    31063    3256.56
> BM_sendVec_binder-8192    49476 ns    35099 ns    18817    3115.62
> BM_sendVec_binder-16384    76866 ns    58924 ns    11883    2532.86
> BM_sendVec_binder-32768    134022 ns    102788 ns    6535    1597.78
> BM_sendVec_binder-65536    281004 ns    220028 ns    3135    731.14

Great, can you please resend this as a new version?

thanks,

greg k-h

      reply	other threads:[~2024-06-13 13:42 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-11  8:56 [PATCH] binder_alloc: replace kcalloc with kvcalloc to mitigate OOM issues Lei Liu
2024-06-12  9:58 ` Greg Kroah-Hartman
2024-06-13 12:01   ` Lei Liu
2024-06-13 13:42     ` Greg Kroah-Hartman [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=2024061359-deniable-boundless-96c3@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=arve@android.com \
    --cc=brauner@kernel.org \
    --cc=cmllamas@google.com \
    --cc=joel@joelfernandes.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=liulei.rjpt@vivo.com \
    --cc=maco@android.com \
    --cc=opensource.kernel@vivo.com \
    --cc=surenb@google.com \
    --cc=tkjos@android.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