Re: NIC Questions for 6.1 Release - Obtaining changes not in RELEASE
On Sep 13, 2006, at 4:03 AM, Alex Zbyslaw wrote: Chris wrote: Is there any single source where one can go to see what has been changed on the various components of the OS. Go to the source :-) http://www.freebsd.org/cgi/cvsweb.cgi/ Wow! That's an excellent resource and the bge driver does have numerous changes that all dance around or on the ... Based on the 6.1-RELEASE-p6 AMD64 system I did yesterday (a different server), I didn't see any of these changes on the source date for if_bge.c. I'm guessing this has to do with how I cvsup and the fact that I remain tracking only 6.1-RELEASE. I used: *default release=cvs tag=RELENG_6_1 in the supfile and these changes are not pulled under that tag. How does one approach that, set the tag to RELENG_6 which does grab these. From the handbook it seems to recommend not moving forward from a RELEASE for a production type of implementation. How does one grab specific changes to a driver without actually cvsupping to that entire revision or am I missing something really basic and I should be using the RELENG_6 tag for my production servers? It really looks like that's the version of the bge driver I should be using. If you click on if_bge.c (which I guess you did to see all the comments), you'll see above each comment a Branch: which tells you where the changes have been committed. E.g. Revision *1.91.2.17* http://www.freebsd.org/cgi/cvsweb.cgi/src/ sys/dev/bge/if_bge.c?rev=1.91.2.17content-type=text/x-cvsweb- markup / (*download* http://www.freebsd.org/cgi/cvsweb.cgi/% 7Echeckout%7E/src/sys/dev/bge/if_bge.c?rev=1.91.2.17content- type=text/plain) - annotate http://www.freebsd.org/cgi/ cvsweb.cgi/src/sys/dev/bge/if_bge.c?annotate=1.91.2.17 - [select for diffs] http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/bge/ if_bge.c?r1=1.91.2.17, /Thu Sep 7 08:49:10 2006 UTC/ (6 days, 2 hours ago) by /oleg/ Branch: *RELENG_6 http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/ dev/bge/if_bge.c?only_with_tag=RELENG_6 * Changes since *1.91.2.16: +24 -5 lines* Diff to previous 1.91.2.16 http://www.freebsd.org/cgi/cvsweb.cgi/ src/sys/dev/bge/if_bge.c.diff?r1=1.91.2.16r2=1.91.2.17 (colored http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/bge/ if_bge.c.diff?r1=1.91.2.16r2=1.91.2.17f=h) to branchpoint 1.91 http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/bge/ if_bge.c.diff?r1=1.91r2=1.91.2.17 (colored http:// www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/bge/if_bge.c.diff? r1=1.91r2=1.91.2.17f=h) next main 1.92 http://www.freebsd.org/ cgi/cvsweb.cgi/src/sys/dev/bge/if_bge.c.diff?r1=1.92r2=1.91.2.17 (colored http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/bge/ if_bge.c.diff?r1=1.92r2=1.91.2.17f=h) MFC rev. 1.140 Properly lock ifmedia callbacks. This should prevent concurrent access to PHY. Following issues should be resolved: - random watchdog timeouts (caused by concurrent phy access) - some link state issues - non working TX if media type was set explicitly PR: kern/98738 http://www.FreeBSD.org/cgi/query-pr.cgi?pr=98738 which looks like one you'd want! You'll see the tag is RELENG_6 so yes you will need to cvsup to this (aka 6-STABLE) to get those changes. Presumably the changes will make it to 6.2-RELEASE, so you could switch to tracking that when it comes out. I would be wary of actively tracking a production server with STABLE. If you upgrade to STABLE now and it works, just leave it unless there are security patches. At least one change is to HEAD/Main which is aka 7-CURRENT. That would be risky for a production box. Alternatively you could just try downloading the two files and copying them over your existing ones (after backing them up!) and just try and see if a make buildkernel will compile them. If the changes don't rely on anything outside of these two files, you'd likely be fine. Of course, keep a copy of your current working kernel in e.g. /boot/kernel.works. --Alex Alex, Excellent and detailed information. I read the handbook and Complete FreeBSD but couldn't grasp the relationship between CURRENT, STABLE, and RELEASE and the cvsup tags definitively. This is important when buying new hardware running ahead of RELEASE changes (e.g. the Broadcom 5704). Last time (a then leading edge server with a U320 Adaptec controller), I manually updated the driver source just to get it to production and made my source out of sync and then feared cvsuping further. I think you've given me, in a nutshell, how to do this more responsibly. Let me take a shot at it for posterity. 1. Take the machine to STABLE via RELENG_6, if it tests reliably, go production and freeze 2. security patch through the .asc file patches until RELEASE 6.2 3. cvsup to RELEASE 6.2 aka RELENG_6_2 (when available and if needed hardware changes were indeed incorporated) 4. given no hardware additions, continue to cvsup on RELENG_6_2_0 for Security Patches
Re: NIC Questions for 6.1 Release - Obtaining changes not in RELEASE
Chris wrote: Excellent and detailed information. I read the handbook and Complete FreeBSD but couldn't grasp the relationship between CURRENT, STABLE, and RELEASE and the cvsup tags definitively. This is important when buying new hardware running ahead of RELEASE changes (e.g. the Broadcom 5704). Last time (a then leading edge server with a U320 Adaptec controller), I manually updated the driver source just to get it to production and made my source out of sync and then feared cvsuping further. I think you've given me, in a nutshell, how to do this more responsibly. Let me take a shot at it for posterity. RELENG = The official release versions; as well tested as things come. Only get security patches. CURRENT = The very bleeding edge. Updated often. Not recommended for any critical machine. STABLE = Changes that have run well in CURRENT, fix problems or improve performance etc, and are things which will form part of the next RELEASE. Bugs and other issues much less likely than CURRENT. So developed software generally goes from CURRENT (when tested) - STABLE - next RELENG. But, not all software in CURRENT automatically goes to STABLE. CURRENT (right now) is what will be RELENG_7_0, and not all changes there will be suitable for 6. 1. Take the machine to STABLE via RELENG_6, if it tests reliably, go production and freeze 2. security patch through the .asc file patches until RELEASE 6.2 3. cvsup to RELEASE 6.2 aka RELENG_6_2 (when available and if needed hardware changes were indeed incorporated) 4. given no hardware additions, continue to cvsup on RELENG_6_2_0 for Security Patches for server life-cycle This should work fine. In step 4, you can consider upgrading from RELENG_6_2 to RELENG_6_3 etc etc, obviously testing. The more critical a machine, however, the less likely you are to want to do that. If you have any kind of farm, then keeping identical hardware and using one machine as a test bed for any upgrades is also a possible scenario. The farm can be as small as two machines - one a backup for the other, but also usable for testing upgrades. I think it would be technically possible (if unlikely), that a security patch for STABLE might not apply cleanly if you are not running the latest STABLE. In such a case, you might again have to bite the bullet and update to the latest STABLE and test again. This is only likely to happen if the bug is some kind of kernel internal, and even then only if some other code for it in STABLE has changed since you did your upgrade. As I say, I think this would be unlikely. Depending on what the machine in question actually does, how it is firewalled etc, it might be that you don't even bother to apply a security patch. (No doubt some will shout when I say that), but you have to analyse what risk the security whole actually poses to *your machine*. You could always seek advice here if such an issue arises, I think a light is clicking on. Thanks VERY much, You're welcome. --Alex ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]