Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Mar 2004 13:54:18 -0600 (CST)
From:      "Paul Seniura" <pdseniura@techie.com>
To:        <freebsd-ports@freebsd.org>
Subject:   Q: how to speed-up portupgrade itself?
Message-ID:  <20040330195418.D08535C3B@techpc04.okladot.state.ok.us>

next in thread | raw e-mail | index | archive | help

Hi y'all,

Is there any way to speed-up portupgrade? 

Whenever it needs to check for (pre)requisites, portupgrade
is taking its slow sweet time.  Almost two hours after
invoking, it finally starts showing something.

During the two hours of 'nothing', ps does show a lot of
background stuff going on.  Is it suppose to take two hours
to do all that checking?  It seems to be rechecking items
that it has seen before.  It could benefit by remembering
what-all it has checked on (some sort of cache) during the
same run.

I'm trying to get caught up to CVS ports-cur from late last
week (yes only a few days' worth of commits) by running it
this way:

portupgrade	\
	--all	\
	--new	\
	--recursive	\
	--upward-recursive	\
	--verbose	\
	--noclean	\
	--nocleanup

There is no active pkgtools.conf to clog it up. ;)

Here's a sample log:

ttyv1@techpc04[/tmp]10:43:13# run_portupgrade |& tee /tmp/pu.log
--->  Session started at: Tue, 30 Mar 2004 10:45:02 -0600
** No need to upgrade 'vilearn-1.0' (>= vilearn-1.0). (specify -f to force)
[...]
** No need to upgrade 'jove-4.16_1' (>= jove-4.16_1). (specify -f to force)
--->  Upgrade of devel/qmake started at: Tue, 30 Mar 2004 12:45:32 -0600
[...]

The "Session started" line does not show up at that time,
it seems to be buffered (tee is not suppose to buffer). 
Two hours after invoking, we'll see that line followed by
the first "No need to upgrade" line. 
It's downhill from there.

Nothing else was running; I'm doing this on a ttyv.  In
fact I was having lunch for half of this particular
two-hour 'nothing' time period and just got back. ;)

I've tried renice'ing it and the subtasks to somewhere in
the range -12 to -17.  It just wants to take two hours no
matter what.  :(

I tried --omit-check, too, but it keeps on doing the
background stuff to check everyone's parents and all that.

I've got /var & /usr & /src & /home & /tmp & swap spread
out over different physical SCSI2 HDs (you should see this
setup ;) and plenty of room on each one. 
Root / is on a terribly slow ATA drive, tho (manufactured
way before IBM & Hitachi joined up ;) . 
That shouldn't be the problem.

I have 384MB of my own SDRAM (PC-100) in this PC (TPTB
wouldn't even give me any from spare PCs). 
/tmp is a dedicated 1GB drive,
and swap is on on another dedicated 1GB drive. 
All that should be plenty to run gcc & whatever.

Custom tuned kernel and world are -Current as of last
night's CTM bucket.  I am running the current portupgrade
rev.1.222 (as it shows in its help text).

I can't pin down when the slowness might've started. 
I don't think it started with the recent revs to
portupgrade, the speed was slowly slowing down and
became unbearable last week with me. ;)

So I wanted to throw this Q out to y'all before it
slows down even worse. 
Are there any other tweaks I can do?


Thank you,

  --  Paul Seniura
      System Specialist
      State of Okla. D.O.T.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040330195418.D08535C3B>