Re: Should 80MB of RAM be enough for kernel relinking on i386?

2021-09-23 Thread Joerg Sonnenberger
On Thu, Sep 23, 2021 at 09:21:46PM +0100, Stuart Henderson wrote:
> (the extra register used by PIE > hurts i386 mode a lot more than amd64
> mode with its extra registers),

Just for the sake of correctness: it hurts much less on x86_64, because
there is IP-relative addressing for code *and* data. Unless you are
using the medium or large code model (> 2GB code or data), functions
can compute addresses in a single instruction without a temporary
register or binding one to the GOT. So you get a smaller prologue and
epilogue in any function that touches a a global variable.

Joerg



Re: Should 80MB of RAM be enough for kernel relinking on i386?

2021-09-23 Thread Theo de Raadt
You've made a pretty big assumption there.

When we see something we don't think is important, we delete the
email and carry on with more important things.

You think hand-tuning this one paragraph is going to reduce the amount
of mail we delete because it doesn't matter?  It won't. 

A large number of inaccurate documentation problems in the world can be
solved by deleting the innacurate documentation rather than trying to fine-tune
it to be more accurate for the moment, until it becomes inaccurate again.
In truth, noone cares about this paragraph.   It has been perceveived as
a promise.  We don't need to make statements people perceive as promises.

Patrick Harper  wrote:

> Because you might not wish to deal with people like me posting dmesg's 
> of absurdly deficient hardware on the lists. Putting minimum values up 
> means you can cast off everything you don't want to bother trying to 
> support as 'not worth your time', without anyone else having to 
> discover that it wasn't worth their time either.
> 
> On Thu, 23 Sep 2021, at 21:25, Theo de Raadt wrote:
> > We don't list memory sizing for other architectures.  Why list it for i386?
> >
> > Why not delete the text?
> >
> > Because someone wants the truth?  You can't handle 



Re: Should 80MB of RAM be enough for kernel relinking on i386?

2021-09-23 Thread Patrick Harper
Because you might not wish to deal with people like me posting dmesg's 
of absurdly deficient hardware on the lists. Putting minimum values up 
means you can cast off everything you don't want to bother trying to 
support as 'not worth your time', without anyone else having to 
discover that it wasn't worth their time either.

On Thu, 23 Sep 2021, at 21:25, Theo de Raadt wrote:
> We don't list memory sizing for other architectures.  Why list it for i386?
>
> Why not delete the text?
>
> Because someone wants the truth?  You can't handle 



Re: Should 80MB of RAM be enough for kernel relinking on i386?

2021-09-23 Thread Theo de Raadt
Stuart Henderson  wrote:

> Nobody should really by using i386 for new systems. The advantages
> of running amd64-compatible hardware are too big to ignore. Lower power
> consumption, much faster in most cases (the extra register used by PIE
> hurts i386 mode a lot more than amd64 mode with its extra registers),
> more address space for ASLR, some other security mitigations don't
> work on i386, more compatible with software in ports.
> 
> If it's an old system then you already have it so you can just see
> for yourself how much space it needs (and make your own decisions on
> swap space vs RAM, and whether to disable relinking at boot [just using
> it for upgrades/syspatch], and whether to bodge things to use ld.bfd to
> save RAM). So much depends on how you're going to use the system that
> I don't think it's really useful to publish the numbers.

We don't list memory sizing for other architectures.  Why list it for i386?

Why not delete the text?

Because someone wants the truth?  You can't handle 



Re: Should 80MB of RAM be enough for kernel relinking on i386?

2021-09-23 Thread Stuart Henderson
Nobody should really by using i386 for new systems. The advantages
of running amd64-compatible hardware are too big to ignore. Lower power
consumption, much faster in most cases (the extra register used by PIE
hurts i386 mode a lot more than amd64 mode with its extra registers),
more address space for ASLR, some other security mitigations don't
work on i386, more compatible with software in ports.

If it's an old system then you already have it so you can just see
for yourself how much space it needs (and make your own decisions on
swap space vs RAM, and whether to disable relinking at boot [just using
it for upgrades/syspatch], and whether to bodge things to use ld.bfd to
save RAM). So much depends on how you're going to use the system that
I don't think it's really useful to publish the numbers.



Re: Should 80MB of RAM be enough for kernel relinking on i386?

2021-09-23 Thread Solène Rapenne
Le Thu, 23 Sep 2021 14:37:12 +0200,
Janne Johansson  a écrit :

> Den tors 23 sep. 2021 kl 14:27 skrev Patrick Harper :
> >
> > If there will continue to be a minimum disk value then 600MB wouldn't
> > be nearly enough for swap, maybe 2GB for a whole disk?  
> 
> Could this handwaving please stop? If anyone wants, make a i386 VM and
> do a binary search and record the minimums.
> 
> If this isn't interesting enough, then just end the discussion here.
> Whatever the "correct" value is, it will not be decided by a raising
> of hands on the maillist about what everyone feels comfortable with,
> after adding X,Y,Z and then a margin on that.
> 
> Nobody is sizing and purchasing an i386 system based on these numbers in 2021.
> 

offlist in case this is interesting for someone

I tried a few months ago to pinpoint the minimum memory to install and
use OpenBSD 6.9 on i386 and found 48 MB to pass the installer and boot.
Relinking the kernel was swapping.



Re: Should 80MB of RAM be enough for kernel relinking on i386?

2021-09-23 Thread Kenneth Gober
On Thu, Sep 23, 2021 at 8:37 AM Janne Johansson  wrote:

> Could this handwaving please stop? If anyone wants, make a i386 VM and
> do a binary search and record the minimums.
>

I have done this exercise, but not for kernel relinking -- it was for doing
full system rebuilds.
Starting with 2.0/i386 I made a VM with 64MB RAM and a 4GB disk, then tried
to do a full
rebuild of -stable.  If the build quit with an error I'd increase the RAM
and if the file system
filled I'd up the disk space.  Then I'd make a new VM for the next release,
starting with the
minimum RAM and disk required for the previous one (i.e. if requirements
had *dropped*
dramatically from one release to the next I wouldn't have noticed).

For 6.9/i386, 512MB RAM and 512MB swap are sufficient.  With 256MB RAM
builds may fail.
This minimum appears to have taken effect in 6.8/i386.

I have not done this test for 7.0 yet, but I was having trouble getting
builds to run to completion
with only 512MB RAM in -current in February 2021.  If this wasn't a
temporary thing in -current,
I would expect the minimum in 7.0/i386 to be 1GB RAM / 512MB swap.

If anyone cares, for 6.2/i386 through 6.7 256MB RAM and 512MB swap is
sufficient.  For 4.8
through 6.1, 128MB RAM / 512MB swap was enough.

amd64 has needed 1GB RAM and 1GB swap to do full system rebuilds since
6.6.  For 6.3 through
6.5, 512MB RAM and 1GB swap is sufficient.  6.2 will build with 512MB RAM
and 512MB swap.
4.8 through 6.1 will build with 256MB RAM and 512MB swap.  4.4 through 4.7
will build with 128MB
RAM and 512MB swap.

If it matters, all of this testing was done on an old Dell PowerEdge 2900
III server with dual Xeon
E5450 processors and 48GB RAM, running VMware ESXi 5.5 Update 2.  All VMs
were "version 8"
guests in VMware, and all VMs were configured with 1 virtual cpu socket
with 1 virtual core until
release 3.5, then changed to 1 socket / 2 cores for 3.6 and later releases.

-ken


Re: Should 80MB of RAM be enough for kernel relinking on i386?

2021-09-23 Thread Janne Johansson
Den tors 23 sep. 2021 kl 14:27 skrev Patrick Harper :
>
> If there will continue to be a minimum disk value then 600MB wouldn't
> be nearly enough for swap, maybe 2GB for a whole disk?

Could this handwaving please stop? If anyone wants, make a i386 VM and
do a binary search and record the minimums.

If this isn't interesting enough, then just end the discussion here.
Whatever the "correct" value is, it will not be decided by a raising
of hands on the maillist about what everyone feels comfortable with,
after adding X,Y,Z and then a margin on that.

Nobody is sizing and purchasing an i386 system based on these numbers in 2021.

-- 
May the most significant bit of your life be positive.



Re: Should 80MB of RAM be enough for kernel relinking on i386?

2021-09-23 Thread Patrick Harper
If there will continue to be a minimum disk value then 600MB wouldn't 
be nearly enough for swap, maybe 2GB for a whole disk?

-- 
  Patrick Harper
  paia...@fastmail.com

On Thu, 23 Sep 2021, at 11:29, Zé Loff wrote:
> IMHO, stating minimum disk space requirements might be useful for
> determining partition sizes e.g. when setting up multibooting, creating
> disk images for virtual machines, etc.  I agree that nowadays 600Mb
> might be easy to come by for a i386 machine (I did have to upgrade the
> 512Mb CF cards on my soekris boxes, but I know that's a corner case),
> but still.  I don't think there is a problem needing to be fixed, here.
>
> --



Re: Should 80MB of RAM be enough for kernel relinking on i386?

2021-09-23 Thread Zé Loff
On Thu, Sep 23, 2021 at 11:29:53AM +0100, Zé Loff wrote:
> On Wed, Sep 22, 2021 at 05:27:30PM +0100, Patrick Harper wrote:
> > If the situation isn't going to change anytime soon then I have some 
> > diffs for INSTALL.i386 and INSTALL.amd64. The latter has not specified 
> > disk requirements, I guess since anyone who owns an amd64 system will 
> > very likely be using a disk big enough for X, so I figured that the 
> > same would apply to any user of an i386 system that meets the proposed 
> > minimum RAM. These are based on the 2021-09-21 snapshot versions.
> > 
> > --- INSTALL.i386.txtWed Sep 22 16:52:38 2021
> > +++ INSTALL.i386_newWed Sep 22 16:51:17 2021
> > @@ -201,10 +201,7 @@ OpenBSD/i386 7.0 supports most SMP (Symmetrical 
> > MultiP
> >  systems.  To support SMP operation, a separate SMP kernel (bsd.mp)
> >  is included with the installation file sets.
> >  
> > -The minimal configuration to install the system is 32MB of RAM and
> > -at least 250MB of disk space to accommodate the `base' set.
> > -To install the entire system, at least 600MB of disk are required,
> > -and to run X or compile the system, more RAM is recommended.
> > +The minimal configuration to install the system is 512MB of RAM.
> >  
> >  Please refer to the website for a full list of supported hardware:
> >  https://www.openbsd.org/i386.html
> > 
> > 
> > --- INSTALL.amd64.txt   Wed Sep 22 16:52:48 2021
> > +++ INSTALL.amd64_new   Wed Sep 22 16:51:12 2021
> > @@ -202,6 +202,8 @@ is included with the installation file sets.
> >  OpenBSD/amd64 7.0 supports both UEFI/GPT booting and BIOS/MBR
> >  booting.
> >  
> > +The minimal configuration to install the system is 512MB of RAM.
> > +
> >  Please refer to the website for a full list of supported hardware.
> >  
> >  https://www.openbsd.org/amd64.html
> > 
> > 
> > Patrick Harper
> > 
> 
> IMHO, stating minimum disk space requirements might be useful for
> determining partition sizes e.g. when setting up multibooting, creating
> disk images for virtual machines, etc.  I agree that nowadays 600Mb
> might be easy to come by for a i386 machine (I did have to upgrade the
> 512Mb CF cards on my soekris boxes, but I know that's a corner case),
> but still.  I don't think there is a problem needing to be fixed, here.
> 

Just a minor clarification about my statement above: I meant that
_presenting_ disk size requirements isn't a problem in itself (other
than some maintenance overhead, of course).  Stating outdated values
obviously is.

Sorry for the noise
Z

-- 
 



Re: Should 80MB of RAM be enough for kernel relinking on i386?

2021-09-23 Thread Zé Loff
On Wed, Sep 22, 2021 at 05:27:30PM +0100, Patrick Harper wrote:
> If the situation isn't going to change anytime soon then I have some 
> diffs for INSTALL.i386 and INSTALL.amd64. The latter has not specified 
> disk requirements, I guess since anyone who owns an amd64 system will 
> very likely be using a disk big enough for X, so I figured that the 
> same would apply to any user of an i386 system that meets the proposed 
> minimum RAM. These are based on the 2021-09-21 snapshot versions.
> 
> --- INSTALL.i386.txtWed Sep 22 16:52:38 2021
> +++ INSTALL.i386_newWed Sep 22 16:51:17 2021
> @@ -201,10 +201,7 @@ OpenBSD/i386 7.0 supports most SMP (Symmetrical 
> MultiP
>  systems.  To support SMP operation, a separate SMP kernel (bsd.mp)
>  is included with the installation file sets.
>  
> -The minimal configuration to install the system is 32MB of RAM and
> -at least 250MB of disk space to accommodate the `base' set.
> -To install the entire system, at least 600MB of disk are required,
> -and to run X or compile the system, more RAM is recommended.
> +The minimal configuration to install the system is 512MB of RAM.
>  
>  Please refer to the website for a full list of supported hardware:
>  https://www.openbsd.org/i386.html
> 
> 
> --- INSTALL.amd64.txt   Wed Sep 22 16:52:48 2021
> +++ INSTALL.amd64_new   Wed Sep 22 16:51:12 2021
> @@ -202,6 +202,8 @@ is included with the installation file sets.
>  OpenBSD/amd64 7.0 supports both UEFI/GPT booting and BIOS/MBR
>  booting.
>  
> +The minimal configuration to install the system is 512MB of RAM.
> +
>  Please refer to the website for a full list of supported hardware.
>  
>  https://www.openbsd.org/amd64.html
> 
> 
> Patrick Harper
> 

IMHO, stating minimum disk space requirements might be useful for
determining partition sizes e.g. when setting up multibooting, creating
disk images for virtual machines, etc.  I agree that nowadays 600Mb
might be easy to come by for a i386 machine (I did have to upgrade the
512Mb CF cards on my soekris boxes, but I know that's a corner case),
but still.  I don't think there is a problem needing to be fixed, here.

-- 
 



Re: Should 80MB of RAM be enough for kernel relinking on i386?

2021-09-22 Thread Patrick Harper
If the situation isn't going to change anytime soon then I have some 
diffs for INSTALL.i386 and INSTALL.amd64. The latter has not specified 
disk requirements, I guess since anyone who owns an amd64 system will 
very likely be using a disk big enough for X, so I figured that the 
same would apply to any user of an i386 system that meets the proposed 
minimum RAM. These are based on the 2021-09-21 snapshot versions.

--- INSTALL.i386.txtWed Sep 22 16:52:38 2021
+++ INSTALL.i386_newWed Sep 22 16:51:17 2021
@@ -201,10 +201,7 @@ OpenBSD/i386 7.0 supports most SMP (Symmetrical 
MultiP
 systems.  To support SMP operation, a separate SMP kernel (bsd.mp)
 is included with the installation file sets.
 
-The minimal configuration to install the system is 32MB of RAM and
-at least 250MB of disk space to accommodate the `base' set.
-To install the entire system, at least 600MB of disk are required,
-and to run X or compile the system, more RAM is recommended.
+The minimal configuration to install the system is 512MB of RAM.
 
 Please refer to the website for a full list of supported hardware:
 https://www.openbsd.org/i386.html


--- INSTALL.amd64.txt   Wed Sep 22 16:52:48 2021
+++ INSTALL.amd64_new   Wed Sep 22 16:51:12 2021
@@ -202,6 +202,8 @@ is included with the installation file sets.
 OpenBSD/amd64 7.0 supports both UEFI/GPT booting and BIOS/MBR
 booting.
 
+The minimal configuration to install the system is 512MB of RAM.
+
 Please refer to the website for a full list of supported hardware.
 
 https://www.openbsd.org/amd64.html


Patrick Harper