All of lore.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 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.