On Tuesday, April 19, 2011 2:04:53 pm Warner Losh wrote:
> 
> On Apr 19, 2011, at 6:40 AM, John Baldwin wrote:
> 
> > On Monday, April 18, 2011 3:59:45 pm Warner Losh wrote:
> >> 
> >> On Apr 18, 2011, at 12:18 PM, Doug Barton wrote:
> >> 
> >>> On 04/18/2011 11:14, Pawel Jakub Dawidek wrote:
> >>>> On Mon, Apr 18, 2011 at 11:06:42AM -0600, Warner Losh wrote:
> >>>>> 
> >>>>> On Apr 18, 2011, at 1:01 AM, Roman Divacky wrote:
> >>>>> 
> >>>>>> please mark this in src/UPDATING, maybe bump freebsd_version too?
> >>>>> 
> >>>>> Please do not bump freebsd_version just for this.  Ports wishing to 
> >>>>> know 
> > can go off the last bump, if there are any.
> >>>>> 
> >>>>> Every freebsd_version bump forces rebuilding all modules and such and 
> >>>>> is 
> > a pita.
> >>>> 
> >>>> I agree that this is a PITA, but there also should be a way to force
> >>>> module load even on version bump. This is PITA especially for
> >>>> developers.
> >>> 
> >>> .... who make up a tiny percentage of the FreeBSD user community. 
> > Seriously? We're going to whine because version bumps cause a little extra 
> > compile time?
> >> 
> >> The problem usually manifests itself when I got to debug a new problem, 
> >> load 
> > a driver and find I have to rebuild everything else to use it, which forces 
> > an 
> > extra reboot on the machine in question.  Sometimes this can be quite 
> > disruptive to other things that machine is doing.
> > 
> > But that is only true if your source tree doesn't match your installed 
> > world.  
> > If the new driver is standalone and you build it as a module, it will use 
> > the 
> > headers from /sys and will work fine.
> 
> It is rarely the case that my source matches my install world.  My kernel and 
> userland are asynchronously updated when I'm doing heavy kernel 
development.  My sources are updated all the time to pull in useful things that 
I need.  When I'm in this mode, I carefully track what's changed 
to make sure there were no recompile the world events.  When a userland thing 
changes that bumps freebsd_version, I have to recompile the kernel 
and reboot, even though there's no need to do so.  This is especially annoying 
when it happens a few times within one week, since it is a hit to 
my productivity each time it happens.  There's no great need to have userland 
features identified with the fidelity of a few dozen commits in -
current.  A few hundred or more would suffice for ports and those interested, 
so bumping more than once a week provides almost no benefit, but 
inflicts some pain.

Hmm, my development tree never matches my /usr/src either, but I never run
into this.  I always build a kernel in a p4 or whatever checkout and do
'make install KERNEL=foo' (or make installkernel INSTKERNNAME=foo) along
with 'nextboot -k foo' (or 'boot foo' at the loader prompt).  My current
testboxes actually tend to have 7.x worlds and I just boot 9 kernels on
them all the time.  But by building a new kernel each time I never hit
problems with __FreeBSD_version checks.

However, all that said, I would have no problem having something you can
set in make.conf or on the command line to disable the check for a given
module build.

Oh, one other thing, if you stick your module directory in a kernel tree
that matches whatever the running kernel is, then that also works fine.
I do this a lot where I've booted a 9.0 kernel on a 7.x machine, and then
have a sys/modules/foo in that source tree and I can build the module from
that directory and load/unload it without any problems.

> >> In this case, there was a new kernel thing just after, so it turned out 
> >> OK.  
> > But let's not gratuitously bump the version since the granularity we have 
> > already allows the ports to make good choices on when to leave something in 
> > or 
> > out.
> > 
> > Except that that directly contradicts our previously established policy 
> > that 
> > these version bumps are cheap and that we should do more of them (this came 
> > up 
> > a few years ago when we changed the policy so that the new "stable" branch 
> > after a release starts at N + 500 (e.g. 802500) rather than N + 100 to give 
> > more room for version bumps on current).
> 
> We have never said that version bumps were totally cheap.  In -current, 
> there's little benefit to bumping things more often than once a week.  
Since we generally develop stable for more than 2 years, 100 wasn't enough at 
the one a week rate.  But that doesn't mean that 5 per week is OK 
either, since now we suddenly have room for them.  I'm strongly suggesting that 
for userland-only changes that one check to see when the last bump 
was and if it is less than a few days (or a week), then to piggyback off the 
last one/next one to discriminate whether to use an old feature, or 
start using a new feature.  Especially for retroactive bumps that happen 
disconnected to the original feature going in.

I can't find the original thread, but we did in fact say that. :)

However, I'd be happy to only have one a week or what not.  Big interface
changes should generally have them though, especially if they affect KPIs used
by out of tree drivers or other software in ports.

-- 
John Baldwin
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to