Ways to use up RAM

Joe “Floid” Kanowitz brought up the idea of RAM being used as disk cache, to which a number of replies were made. I mentioned softupdate snapshots as a possible mechanism, which Sander Vesik corrected to say that it would be more like a “write through” union mount of a MFS and real filesystem.

Kip Macy pointed out that ‘tmpfs‘, on Solaris and Linux does something similar. BSD also has mfs, which requires that you allocate memory ahead of time. (Most commonly used to speed up buildwords in /usr/obj/ .)

The concept of journaling file systems that save the state of a file at given chronological points was brought up, and several people noted ‘Elephant‘. (Link from Hiten Pandya.)

Matt Dillon also wrote up several paragraphs on using RAM for storage, which are sufficiently technical that I’ll paste them in the extended link for this entry, rather then sum up.
Continue reading “Ways to use up RAM”

Social life

David P. Reese, Jr. noted that he will be at the Neal Stephenson talk in the Menlo Park Kepler’s Books on the 26th, and if there’s any other developers around, he’d like to meet up afterwards. Also, Matt Dillon noted he should throw a party when the namecache work is done.

Code code code

Matt Dillon noted that if/when replacing K&R declarations with ANSI-compatible ones, watch for argument order:

(old style)
int
fubar(a, b, c)
int c;
int b;
int a;
{
}

(new style)
int
fubar(int a, int b, int c)

He also added: indent when the argument list wraps, and don’t try it in /usr/src/sys/ for the next few weeks, as he’s working there!

Also: ibotty submitted a patch that would let users mount devices to which they do not have write access, though this may be delayed until/overridden by VFS work.

security fixes, additions

You may say to yourself, “Gosh, I hope the recent SSH and Sendmail holes are fixed in DragonFly BSD, too!” And you’d be right.

Miguel Mendez brought up the idea of using NetBSD’s Veriexec for more secure prebinding (which will also be committed, but not used by default); David Rhodus reports he has Veriexec working and will commit it soon.

Syscall Separation

David P. Reese, Jr. has separated out the sendto/sendmesg/recvfrom/recvmsg calls and created kernel versions. 4.3BSD syscalls have been separated out, too, to src/sys/emulation/43bsd. (Patch pending)

devfs and things I understand less

Matt Dillon pointed out that GEOM in FreeBSD may be something DragonFly can present a compatible API for, but it requires the messaging work for VFS and DEV first. Incidentally, Matt will be working on namecache, VOP_LOOKUP, Simon ‘corecode’ Schubert’s prebinding, and Jeffrey Hsu’s changes to ifq.

If, like me, you are clueless on what prebinding and ifq are, here an explanation of prebinding for OS X (should apply here) and ifq… appears to be the queue in which chunks of network information are held/passed? I haven’t found a good explanation. (Comments welcome, if you know)

asmodai pointed out xenofarm during a discussion of the tinderbox builds of DragonFly.

Checkpoint

Kip Macy noted that he is working on a checkpoint/restart project, where an application can be ‘saved’ in a running state and later restored. This can be useful with programs that have a long runtime, or when debugging.

dports created

Matt Dillon has created dports, a DragonFly-local override of /usr/ports from FreeBSD. This way, DragonFly can continue to use the FreeBSD ports system and changes/overrides can be placed in /usr/dports to handle changes. This is not permanent; it’s supposed to last until a new package system is devised, which should be after things like the VFS work is done.

Complete text of his post follows, as there’s some notes on how to check this out of cvs:
Continue reading “dports created”

Catch-up

I’ll try to run through all the events that came through in the past few days.

– David Rhodus reports over 1000 iso downloads on dbsd.catpa.com, while Simon ‘corecode’ Schubert reports (since logging started) 129 unique downloads.

– David P. Reese Jr. has set up various split syscalls and set the linuxulator to use them.

– Matt Dillon pointed out the right name for this new OS is ‘DragonFly’, with the F capitalized. He also suggested starting a new ports (/usr/dports) system that would work as an ‘override’ to the carried-over FreeBSD ports system.

– There was some discussion of slogans for DragonFly, of which my favorite was David Leimbach’s “DragonFlyBSD: We’ve raised our standards… so up yours!”

– Robert Garrett brought rsync into the base system. Also, David Rhodus set up a cvsync server that carries both FreeBSD and DragonFly. (his config continued below.)
Continue reading “Catch-up”

sysinstall finalized

From the discussions going on, it looks like the installation interface will be http based, using Apache, PHP, probably Python, and a text (links or elinks)/graphical browser depending on install environment.

A new topic coming up is: should cvsup be included, or something like it?