svn commit: r311346 - in head/sys: kern sys vm
Mark Johnston
markj at FreeBSD.org
Thu Jan 5 17:13:27 UTC 2017
On Thu, Jan 05, 2017 at 09:16:02AM +0000, Steven Hartland wrote:
> Given the use of the number of CPU's for sizing would this play nice
> with hot plug CPU's?
>
> Regards
> Steve
Not without some work. I don't think it would be a major obstacle to
adding hot-plug CPU support on at least 64-bit systems though.
>
> On 05/01/2017 01:44, Mark Johnston wrote:
> > Author: markj
> > Date: Thu Jan 5 01:44:12 2017
> > New Revision: 311346
> > URL: https://svnweb.freebsd.org/changeset/base/311346
> >
> > Log:
> > Add a small allocator for exec_map entries.
> >
> > Upon each execve, we allocate a KVA range for use in copying data to the
> > new image. Pages must be faulted into the range, and when the range is
> > freed, the backing pages are freed and their mappings are destroyed. This
> > is a lot of needless overhead, and the exec_map management becomes a
> > bottleneck when many CPUs are executing execve concurrently. Moreover, the
> > number of available ranges is fixed at 16, which is insufficient on large
> > systems and potentially excessive on 32-bit systems.
> >
> > The new allocator reduces overhead by making exec_map allocations
> > persistent. When a range is freed, pages backing the range are marked clean
> > and made easy to reclaim. With this change, the exec_map is sized based on
> > the number of CPUs.
More information about the svn-src-all
mailing list