Re: [PATCH v5] do_wait: make PIDTYPE_PID case O(1) instead of O(n)

From: Andrew Morton
Date: Fri Mar 12 2021 - 13:22:43 EST


On Fri, 12 Mar 2021 11:38:55 -0600 Jim Newsome <jnewsome@xxxxxxxxxxxxxx> wrote:

> do_wait is an internal function used to implement waitpid, waitid,
> wait4, etc. To handle the general case, it does an O(n) linear scan of
> the thread group's children and tracees.
>
> This patch adds a special-case when waiting on a pid to skip these scans
> and instead do an O(1) lookup. This improves performance when waiting on
> a pid from a thread group with many children and/or tracees.

Could we please see some performance testing results to permit us to
evaluate the value of this change?

Thanks.