CFT: TRIM Consolodation on UFS/FFS filesystems
Mark Millard
marklmi at yahoo.com
Wed Sep 5 07:37:25 UTC 2018
On 2018-Sep-4, at 10:20 PM, Kirk McKusick <mckusick at mckusick.com> wrote:
> Thanks for the report. Do you have a sense/measurement that the
> build times better/same/worse than without the consolidation?
buildworld buildkernel is far from I/O bound overall (elapsed time)
when built via clang when the llvm materials are being built in this
context: CPU/RAM bound. (I watched gstat -pd and top -CawSores for
evidence of this.) Also, swap/paging I/O would not involve
consolidation. It would be odd for the new consolidation to make
much of a difference for this activity. (gcc 4.2.1 based builds were
more I/O bound in my experience.)
But installworld is far more I/O bound and does take something
like 11 or 12 minutes in this context. (installkernel is also
more I/O bound but takes far less time.)
I have a record of an updating installworld for
clang-cortexA53-installworld-poud already with consolidation
turned on . . .
Start time: 2018-09-04:12:48:14
End time: 2018-09-04:12:59:54 (so 11 min 40 sec or so elapsed)
typescript log size: 8698790
So after the poudriere/pkg activity I could repeat the
"-j4 installworld distrib-dirs distribution DB_FROM_SRC=1
DESTDIR=/usr/obj/DESTDIRs/clang-cortexA53-installworld-poud"
with the new consolidation turned off. (That would leave
active the mmc/sd code's consolidation that Ian L.
referenced.)
I could also try yet again but with trim disabled for the file
system, giving a 3rd contrasting case.
Would these comparisons help?
As for my poudriere-devel use, I previously used PARALLEL_JOBS=1 but
did this activity with PARALLEL_JOBS=2 (both with ALLOW_MAKE_JOBS=yes ).
PARALLEL_JOBS=2 makes comparing individual port-build times a problem
because of competing use of the CPUs over the same time period. There
also is the issue of how I/O bound each port's build is or is not
for the context.
Using "gstat -pd" and "top -CawSores" to watch devel/gcc8 build
indicates I/O %busy is usually < 2%, even < 1%, and much of the time
is 0.0% or 0.1%. (This is during a "prev-gcc" bootstrap stage, no
longer using clang.) It would be odd for the new consolidation to
make much of an overall difference here. A more I/O bound port build?
Note: I mount with -o noatime in use.
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
More information about the freebsd-fs
mailing list