The SMP branch is irregularily updated from the trunk. To do this you mainly need to carry out the following procedure. * Determine the new synchronization tag to use. There are two used alternately; SMP_SYNC_A and SMP_SYNC_B. You can use several hueristics to find out which one was used last, and then use the other one. For example, CVSROOT/history* files gives you information about tag operations in lines matching '^T'. Call the tag you will be using for $NEW_TAG and the other one $OLD_TAG. * Tag the trunk with the new synchronization tag. $ cvs -d cvs.openbsd.org:/cvs rtag -F -rHEAD $NEW_TAG src/sys * Have an SMP branch checkout available with -kk substitution done. For example check out a fresh one: $ cvs get -rSMP -kk src/sys * Go into src/sys and merge from the trunk (make sure that the repository you use have the new tags from the tagging above, i.e. don't use a mirror that has not been updated since that step): $ cvs up -j$OLD_TAG -j$NEW_TAG -kk * Find any conflicts, and resolve them, this command might help: $ cvs -q up -dP -rSMP -kk 2>&1 | grep '^C ' * Build and test a GENERIC.MP kernel, fix every regression you can find. * Commit to the SMP branch in pieces to not lock too much of the sys tree in the repository, Nice chunks are perhaps 100-300 files. [ There are some bugs in cvs related to brach merges: I) Readdition of files that have gone dead. They need to have the timestamp in the Entries file changed to /dummy timestamp/ in order to be accepted by commit. II) Under som circumstances cvs just bombs on a file leaving it updated and locked in the repository. In that case something like this is needed: x=path/to/file/relative/to/sys ssh cvs.openbsd.org "rcs -u /cvs/src/sys/$x,v" rm $x cvs -qd cvs.openbsd.org:/cvs up -dP -rSMP -kk $x cvs -qd cvs.openbsd.org:/cvs up -dP -rSMP -kk $x Readdition of directories is not working at all, they need to be manually added. ] * A nice check is to browse the output of: $ cvs -q rdiff -u -r$NEW_TAG -rSMP It should just by differences related to multiprocessor support.