Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Oct 2017 02:52:59 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 223059] [patch] consider skipped 2 pages in sw_nblks and add size check before blist_alloc
Message-ID:  <bug-223059-8-lSgBArf9Hg@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-223059-8@https.bugs.freebsd.org/bugzilla/>
References:  <bug-223059-8@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D223059

--- Comment #2 from ota@j.email.ne.jp ---
(In reply to Alan Cox from comment #1)

I've seen 2 conditions when blist_alloc() failed massively.

One case is when sizes of swap devices are imbalanced especially when one of
them are significantly small or large, one or some of others gets filled.

The other case is when more devices are added to avoid swap space exhaustio=
n.=20
As soon as all existing devices are fulled, new ones will pick up all I/Os.

In any cases, if a machine is busy swapping out pages, I also agree that
failures of blist_alloc() are minor in performance as well.

Also, blist_alloc needs to find a contentious region. Even if remaining blo=
cks
is more than requested, blist_alloc can fail due to fragmentation.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-223059-8-lSgBArf9Hg>