Date: Tue, 11 Aug 2020 17:21:55 -0700 From: Conrad Meyer <cem@freebsd.org> To: Mark Johnston <markj@freebsd.org>, Konstantin Belousov <kostikbel@gmail.com> Cc: src-committers <src-committers@freebsd.org>, svn-src-all <svn-src-all@freebsd.org>, svn-src-head <svn-src-head@freebsd.org> Subject: Re: svn commit: r364129 - head/sys/vm Message-ID: <CAG6CVpWviXnkwc9p5HuZ4Y_smmjCXkCQ%2BoqJv4RSwr0c9XYEWA@mail.gmail.com> In-Reply-To: <20200811223100.GC77647@raichu> References: <202008112037.07BKbjsL056699@repo.freebsd.org> <20200811213213.GT2551@kib.kiev.ua> <CAG6CVpWhW4dtv1j4ced0Me2qj6eUvY5j59%2BOcYXPTDOvMno4_Q@mail.gmail.com> <20200811223100.GC77647@raichu>
next in thread | previous in thread | raw e-mail | index | archive | help
Done in r364134. On Tue, Aug 11, 2020 at 3:31 PM Mark Johnston <markj@freebsd.org> wrote: > > On Tue, Aug 11, 2020 at 03:21:31PM -0700, Conrad Meyer wrote: > > Hi Konstantin, Mark (raised the same question), > > > > On Tue, Aug 11, 2020 at 2:32 PM Konstantin Belousov <kostikbel@gmail.com> wrote: > > > > > > On Tue, Aug 11, 2020 at 08:37:45PM +0000, Conrad Meyer wrote: > > > > Author: cem > > > > Date: Tue Aug 11 20:37:45 2020 > > > > New Revision: 364129 > > > > URL: https://svnweb.freebsd.org/changeset/base/364129 > > > > > > > > Log: > > > > Add support for multithreading the inactive queue pageout within a domain. > > > > ... > > > > @@ -2488,7 +2488,7 @@ vm_page_zone_import(void *arg, void **store, int cnt, > > > > * main purpose is to replenish the store of free pages. > > > > */ > > > > if (vmd->vmd_severeset || curproc == pageproc || > > > > - !_vm_domain_allocate(vmd, VM_ALLOC_NORMAL, cnt)) > > > > + !_vm_domain_allocate(vmd, VM_ALLOC_SYSTEM, cnt)) > > > > > > Why this change needed ? > > > > The change was inherited from Jeff, along with the rest of it. I > > don't know why he changed it, but it does seem orthogonal to the rest > > of the revision. This part is nonessential as far as I know, and > > could be backed out. > > To me it doesn't make sense. The difference between VM_ALLOC_NORMAL and > _SYSTEM is that they use different thresholds for the free page count > before deciding whether to continue the allocation. The _NORMAL > threshold is higher than the _SYSTEM threshold, but both are smaller > than the "severe" threshold at which we set vmd_severeset. In other > words, if the free page count is such that a _NORMAL allocation would > fail but a _SYSTEM allocation would succeed, then vmd_severeset would be > set and we'd never get to the _vmd_domain_allocate() call to begin with. > > So, I think this part of the change should be reverted. Even if the > analysis is incorrect, it's logically separate from the rest of the > diff. Prior to r355003 it made more sense, but per that commit it can > be harmful to populate the per-CPU page caches when the system is > severely short on free pages, so I would disagree with it anyway without > more testing.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAG6CVpWviXnkwc9p5HuZ4Y_smmjCXkCQ%2BoqJv4RSwr0c9XYEWA>
