From owner-freebsd-stable Tue May 16 9:42:44 2000 Delivered-To: freebsd-stable@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by hub.freebsd.org (Postfix) with ESMTP id 1D63A37B93C for ; Tue, 16 May 2000 09:42:41 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.3/8.9.1) id JAA19701; Tue, 16 May 2000 09:42:40 -0700 (PDT) (envelope-from dillon) Date: Tue, 16 May 2000 09:42:40 -0700 (PDT) From: Matthew Dillon Message-Id: <200005161642.JAA19701@apollo.backplane.com> To: freebsd-stable@FreeBSD.ORG Subject: HEADS up, recommend kernel & modules recompile for -stable (SMP, sys/file.h changes) Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Heads up! I accidently mixed in the sys/file ref count MFC (which increases the size of the reference count fields in struct file from 16 to 32 bits) with the SMP cleanup. I hadn't meant to commit this for a few more days. Also, the SMP cleanup was pretty extensive. So I recommend a complete kernel AND modules recompile, and also recommend recompiling pstat, fstat, and sockstat (though those programs will probably work just fine either way). I did pad the original ref count fields to maintain compatibility with third party modules. I don't think there will be any problems. Specialty modules in our source tree (portal, union, fdesc, fifofs, netgraph, and the linux module) must be recompiled. I recommend simply recompiling all of them. If you encounter problems with third party modules that weren't there before, try backing out /usr/src/sys/file.h rev 1.22.2.3 (in -stable) and see if the problem goes away. I've included the forward diff below for reference. If you determine the ref count change to be the problem, please email me. -Matt Index: file.h =================================================================== RCS file: /home/ncvs/src/sys/sys/file.h,v retrieving revision 1.22.2.2 retrieving revision 1.22.2.3 diff -u -r1.22.2.2 -r1.22.2.3 --- file.h 2000/05/05 03:50:01 1.22.2.2 +++ file.h 2000/05/16 07:07:52 1.22.2.3 @@ -62,8 +62,8 @@ #define DTYPE_FIFO 4 /* fifo (named pipe) */ #define DTYPE_KQUEUE 5 /* event queue */ short f_type; /* descriptor type */ - short f_count; /* reference count */ - short f_msgcount; /* references from message queue */ + short f_FILLER1; /* (OLD) reference count */ + short f_FILLER2; /* (OLD) references from message queue */ struct ucred *f_cred; /* credentials associated with descriptor */ struct fileops { int (*fo_read) __P((struct file *fp, struct uio *uio, @@ -90,6 +90,8 @@ */ off_t f_offset; caddr_t f_data; /* vnode or socket */ + int f_count; /* reference count */ + int f_msgcount; /* reference count from message queue */ }; #ifdef MALLOC_DECLARE To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message