On Thursday, October 25, 2018 9:59:09 PM -03 Philip Guenther wrote:
> On Thu, Oct 25, 2018 at 8:44 PM diego righi <diego.ri...@gmail.com> wrote:
> > So why openbsd 6.4 i386 and amd64 bootloaders (not biosboot, boot!)
> > express different behavior? Wasn't openbsd about correctness? :/
> 
> If I'm wrong and it is documented that I can't do this fine, but so also
> 
> > i386 should not work, this behavior is just strange for me, that's it.
> 
> This is something that most people, perhaps even most software developers,
> are not strongly aware of: that resource requirements are often both
> fine-grained and sharp-edged.  That is: the exact requirements can vary in
> many fine-steps between systems, but there can be a sharp edge at which
> performance plummets badly or the system totally fails.  This is true of
> *many* systems (including lots of cloud services) which work just fine
> until they *suddenly* fail, because the memory straw broke the available
> RAM camel's back, or the micro-service is now taking just _longer_ to
> service one request than the inter-request arrival interval so the queue so
> the queue grows in latency past the user/system tolerance.
> 
> Case in point: the memory resources required by the biosboot code depend
> many factors including:
> * the size of the root partition
> * the block size of the root partition (which is affected by the size)
> * the inode number of the kernel being booted
> * the exact disk block numbers which the booted kernel was put in
> 
> We all, the developers and the community of user who actively test -current
> kernel (THANK YOU!) exercise various combinations of those, the *vast*
> majority of which use the recommended system layout.  That recommend layout
> doesn't push the first two of those items at all, and keeps the third and
> fourth in sane ranges.
> 
> Meanwhile, those using monster root partitions have unknowingly been
> pushing the memory usage by biosboot, but below its limits.
> 
> So, some change was made during the 6.3->6.4 dev cycle which requires
> _slightly_ more memory in biosboot.  Maybe it was something about the
> compiler upgrades, or the maybe it was the SoftRaid crypto passphrase-retry
> change.  Or maybe it was the tiny tweak of making biosboot default the
> console to com0 @ 115200 on VMs.    Something made biosboot take more
> memory...and now those systems with monster root partitions were pushed
> over the edge of how much memory biosboot has available.
> 
> Rule of thumb: the costs must be worth the gain.
> So:
>  * enhancements and fixes break systems that don't get actively tested
>  * we are are not going to block enhancements/fixes because of that
>  * we test what we recommend, on many systems
>  * if a change breaks the recommended config, then it'll get reverted/fixed
>  * ...this is more likely the more quickly the problem is reported
>  * ...and even then the recommendation for the future might change
>  * we also test some systems that go beyond those recommendations...
>  * ...but not all
>  * if a system that doesn't follow the recommendations breaks as the result
> of a change, the developers will make a judgement about whether the gain of
> the change is worth the costs.  We don't like breaking any config, even
> unusual ones, but if we think the setup is inadvisable, we'll say so and
> move on.
> 
> In this particular case:
>  * the changes to biosboot where in snapshots for MONTHS, but no one
> reported problems
>  * if you aren't following recommendations, and aren't testing snapshots,
> then you should be 100% willing to change your configuration on upgrade,
> 'cause you ain't giving the feedback necessary to keep your unusual config
> alive
>  * SINGLE PARTITION CONFIGS ARE DUMB, DON'T DO THAT; DON'T BOTHER
> COMPLAINING, JUST FIX THEM.
> 
> 
> Philip Guenther

Wow, that was enlightening!
I seldom learnt as much off a single post than with this one.
Thank you, thank you! Philip Guenther
Cheers
Eike

Reply via email to