Date: Thu, 22 Jan 2009 15:39:54 +0100 From: Attila Nagy <bra@fsn.hu> To: freebsd-current@FreeBSD.org Subject: Creating swap based ramdisks from rc.initdiskless by default Message-ID: <4978853A.2000107@fsn.hu>
next in thread | raw e-mail | index | archive | help
Hello, In /etc/rc.initdiskless there is a function, which creates memory disks in diskless environments: # Create a generic memory disk # mount_md() { /sbin/mdmfs -S -i 4096 -s $1 -M md $2 } I have a lot of remote booted diskless and "with disks" machines, which rely on this kind of storage. The problem is that the above command specifies "-M", so it will create MD_MALLOC disks, which can't be swapped out, so it constantly takes away RAM, even if there is only a lightly used dataset on the storage, which could be in swap too in cases, when there is a memory pressure on the system. So the question is: what is the rationale behind creating malloc backed disks by default, instead of swap-backed ones? I can only think of two: - MD_SWAP disks cannot be created, if NO_SWAPPING is enabled in the kernel (I haven't checked, if the swap code is enabled (default) and there is no swap, I can create swap based disks, like malloc based ones) - under memory pressure, the swap based disks will be slow, so maybe it's not a goot idea to put /etc (in netbooted environment, this is by default on memory disks) onto it. BTW, I don't see the difference here between a netbooted machine, having /etc on a swap backed memory disk, which also holds swap and a locally booted machine, having /etc on a disk, which also holds swap. (of course there is a difference, if the swap is on another disk(s) So, are there any objections on changing /sbin/mdmfs -S -i 4096 -s $1 -M md $2 to /sbin/mdmfs -S -i 4096 -s $1 md $2 ?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4978853A.2000107>