From owner-cvs-sys Sun Aug 6 04:55:30 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id EAA11954 for cvs-sys-outgoing; Sun, 6 Aug 1995 04:55:30 -0700 Received: (from davidg@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id EAA11942 ; Sun, 6 Aug 1995 04:55:26 -0700 Date: Sun, 6 Aug 1995 04:55:26 -0700 From: David Greenman Message-Id: <199508061155.EAA11942@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/nfs nfs_serv.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk davidg 95/08/06 04:55:26 Modified: sys/nfs nfs_serv.c Log: Fixed bug where vnode_pager_uncache() wasn't always called when it should be. The result was that the file's space wouldn't be properly freed when it was deleted. Submitted by: John Dyson From owner-cvs-sys Sun Aug 6 04:57:00 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id EAA12016 for cvs-sys-outgoing; Sun, 6 Aug 1995 04:57:00 -0700 Received: (from davidg@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id EAA11982 ; Sun, 6 Aug 1995 04:56:46 -0700 Date: Sun, 6 Aug 1995 04:56:46 -0700 From: David Greenman Message-Id: <199508061156.EAA11982@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/ufs/ffs ffs_vfsops.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk davidg 95/08/06 04:56:45 Modified: sys/ufs/ffs ffs_vfsops.c Log: Removed redundant call to vm_object_page_clean - this is already done in vfs_msync(). From owner-cvs-sys Sun Aug 6 05:00:03 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id FAA12195 for cvs-sys-outgoing; Sun, 6 Aug 1995 05:00:03 -0700 Received: (from davidg@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id EAA12177 ; Sun, 6 Aug 1995 04:59:54 -0700 Date: Sun, 6 Aug 1995 04:59:54 -0700 From: David Greenman Message-Id: <199508061159.EAA12177@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/ufs/lfs lfs_vnops.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk davidg 95/08/06 04:59:52 Modified: sys/ufs/lfs lfs_vnops.c Log: Removed redundant call to vm_object_page_clean: this is already handled by vfs_msync(). From owner-cvs-sys Sun Aug 6 05:10:46 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id FAA12654 for cvs-sys-outgoing; Sun, 6 Aug 1995 05:10:46 -0700 Received: (from davidg@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id FAA12644 ; Sun, 6 Aug 1995 05:10:41 -0700 Date: Sun, 6 Aug 1995 05:10:41 -0700 From: David Greenman Message-Id: <199508061210.FAA12644@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/kern vfs_bio.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk davidg 95/08/06 05:10:40 Modified: sys/kern vfs_bio.c Log: Resize both VMIO and non-VMIO buffers if the size changes. From owner-cvs-sys Sun Aug 6 09:14:27 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id JAA21556 for cvs-sys-outgoing; Sun, 6 Aug 1995 09:14:27 -0700 Received: (from jkh@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id JAA21546 ; Sun, 6 Aug 1995 09:14:22 -0700 Date: Sun, 6 Aug 1995 09:14:22 -0700 From: "Jordan K. Hubbard" Message-Id: <199508061614.JAA21546@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/miscfs/fifofs fifo_vnops.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk jkh 95/08/06 09:14:22 Modified: sys/miscfs/fifofs fifo_vnops.c Log: Allow a pipe to be opened read/write at one end, as is allowed in SunOS and SCO. You can then even use the pipe as a cheap fifo stack (yuck!). A semantic change also important (but not limited) to iBCS2 compatibility. Submitted by: swallace From owner-cvs-sys Sun Aug 6 12:45:40 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id MAA01511 for cvs-sys-outgoing; Sun, 6 Aug 1995 12:45:40 -0700 Received: (from joerg@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id MAA01501 ; Sun, 6 Aug 1995 12:45:35 -0700 Date: Sun, 6 Aug 1995 12:45:35 -0700 From: Joerg Wunsch Message-Id: <199508061945.MAA01501@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/kern kern_xxx.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk joerg 95/08/06 12:45:35 Modified: sys/kern kern_xxx.c Log: Extentd David's recent change to shutdown_nice() by calling cpu_reset() directly in case init(8) is *not* running. From owner-cvs-sys Sun Aug 6 15:00:34 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id PAA10350 for cvs-sys-outgoing; Sun, 6 Aug 1995 15:00:34 -0700 Received: (from davidg@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id PAA10320 ; Sun, 6 Aug 1995 15:00:25 -0700 Date: Sun, 6 Aug 1995 15:00:25 -0700 From: David Greenman Message-Id: <199508062200.PAA10320@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/kern subr_prf.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk davidg 95/08/06 15:00:22 Modified: sys/kern subr_prf.c Log: Restore check for msg_bufx being negative. Changed if() expression to be in Lite2 style. From owner-cvs-sys Mon Aug 7 00:58:29 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id AAA23138 for cvs-sys-outgoing; Mon, 7 Aug 1995 00:58:29 -0700 Received: (from davidg@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id AAA23128 ; Mon, 7 Aug 1995 00:58:24 -0700 Date: Mon, 7 Aug 1995 00:58:24 -0700 From: David Greenman Message-Id: <199508070758.AAA23128@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/sys msgbuf.h Sender: cvs-sys-owner@freebsd.org Precedence: bulk davidg 95/08/07 00:58:24 Modified: sys/kern subr_log.c subr_prf.c sys/sys msgbuf.h Log: Made msgbuf range checking more robust and clean. From owner-cvs-sys Mon Aug 7 01:16:48 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id BAA23806 for cvs-sys-outgoing; Mon, 7 Aug 1995 01:16:48 -0700 Received: (from davidg@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id BAA23793 ; Mon, 7 Aug 1995 01:16:37 -0700 Date: Mon, 7 Aug 1995 01:16:37 -0700 From: David Greenman Message-Id: <199508070816.BAA23793@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/ufs/ffs ffs_alloc.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk davidg 95/08/07 01:16:35 Modified: sys/ufs/ffs ffs_alloc.c Log: Use bdwrite() rather than brelse(). The cylinder group bitmap modification is not preserved otherwise. Note that this is a no-op in FreeBSD, however, as we have doreallocblks disabled. Submitted by: Kirk McKusick From owner-cvs-sys Mon Aug 7 01:41:00 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id BAA24428 for cvs-sys-outgoing; Mon, 7 Aug 1995 01:41:00 -0700 Received: (from davidg@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id BAA24414 ; Mon, 7 Aug 1995 01:40:51 -0700 Date: Mon, 7 Aug 1995 01:40:51 -0700 From: David Greenman Message-Id: <199508070840.BAA24414@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/kern subr_prf.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk davidg 95/08/07 01:40:50 Modified: sys/kern subr_prf.c Log: Woops, I committed the wrong version of the diff in the last rev. From owner-cvs-sys Mon Aug 7 04:55:39 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id EAA29694 for cvs-sys-outgoing; Mon, 7 Aug 1995 04:55:39 -0700 Received: (from davidg@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id EAA29674 ; Mon, 7 Aug 1995 04:55:34 -0700 Date: Mon, 7 Aug 1995 04:55:34 -0700 From: David Greenman Message-Id: <199508071155.EAA29674@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/ufs/ufs ufs_disksubr.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk davidg 95/08/07 04:55:33 Modified: sys/ufs/ufs ufs_disksubr.c Log: Since buffers can be pulled off of the disk queue at interrupt time and disksort is called at non-interrupt time and can be actively traversing the list when that happens, there is a very small window of vulnerability. Close it by protecting disksort with splbio(). From owner-cvs-sys Mon Aug 7 04:56:35 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id EAA29740 for cvs-sys-outgoing; Mon, 7 Aug 1995 04:56:35 -0700 Received: (from davidg@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id EAA29728 ; Mon, 7 Aug 1995 04:56:33 -0700 Date: Mon, 7 Aug 1995 04:56:33 -0700 From: David Greenman Message-Id: <199508071156.EAA29728@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/scsi sd.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk davidg 95/08/07 04:56:33 Modified: sys/scsi sd.c Log: Set bp->b_actf=NULL for paranoia sake. From owner-cvs-sys Mon Aug 7 07:21:12 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id HAA05447 for cvs-sys-outgoing; Mon, 7 Aug 1995 07:21:12 -0700 Received: (from davidg@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id HAA05434 ; Mon, 7 Aug 1995 07:20:30 -0700 Date: Mon, 7 Aug 1995 07:20:30 -0700 From: David Greenman Message-Id: <199508071420.HAA05434@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/ufs/ufs ufs_disksubr.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk davidg 95/08/07 07:20:29 Modified: sys/ufs/ufs ufs_disksubr.c Log: On closer inspection, it turns out that all of the callers of disksort are already at splbio()...so back out the last change to disksort. From owner-cvs-sys Mon Aug 7 19:22:24 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id TAA14688 for cvs-sys-outgoing; Mon, 7 Aug 1995 19:22:24 -0700 Received: (from davidg@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id TAA14676 ; Mon, 7 Aug 1995 19:22:19 -0700 Date: Mon, 7 Aug 1995 19:22:19 -0700 From: David Greenman Message-Id: <199508080222.TAA14676@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/kern uipc_usrreq.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk davidg 95/08/07 19:22:18 Modified: sys/kern uipc_usrreq.c Log: Move mbuf frees to after call to sorflush(). Submitted by: Matt Dillon From owner-cvs-sys Mon Aug 7 21:07:42 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id VAA21372 for cvs-sys-outgoing; Mon, 7 Aug 1995 21:07:42 -0700 Received: (from ache@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id VAA21324 ; Mon, 7 Aug 1995 21:07:28 -0700 Date: Mon, 7 Aug 1995 21:07:28 -0700 From: "Andrey A. Chernov" Message-Id: <199508080407.VAA21324@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/kern kern_prot.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk ache 95/08/07 21:07:26 Modified: sys/kern kern_prot.c Log: Bring setreuid changes to 2.1 From owner-cvs-sys Mon Aug 7 21:50:58 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id VAA23272 for cvs-sys-outgoing; Mon, 7 Aug 1995 21:50:58 -0700 Received: (from dyson@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id VAA23262 ; Mon, 7 Aug 1995 21:50:54 -0700 Date: Mon, 7 Aug 1995 21:50:54 -0700 From: John Dyson Message-Id: <199508080450.VAA23262@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/i386/include spl.h cpufunc.h Sender: cvs-sys-owner@freebsd.org Precedence: bulk dyson 95/08/07 21:50:54 Modified: sys/i386/include spl.h cpufunc.h Log: Make the spl oriented inline functions less likely to allow potentially volatile memory to be kept in registers during the "call" (inline expansion.) Do the same for pmap_update. From owner-cvs-sys Mon Aug 7 22:14:59 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id WAA24294 for cvs-sys-outgoing; Mon, 7 Aug 1995 22:14:59 -0700 Received: (from dyson@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id WAA24282 ; Mon, 7 Aug 1995 22:14:45 -0700 Date: Mon, 7 Aug 1995 22:14:45 -0700 From: John Dyson Message-Id: <199508080514.WAA24282@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/i386/isa syscons.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk dyson 95/08/07 22:14:44 Modified: sys/i386/isa syscons.c Log: Fixed a problem that malloc(..,..,M_NOWAIT) was being called without checking for return values. It just so happens that in the cases where it is likely to fail, it is okay to change the M_NOWAIT to M_WAITOK -- and all will be well. This problem was manfest as a panic very regularly on a 4MB system right after bootup. From owner-cvs-sys Tue Aug 8 02:34:55 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id CAA12833 for cvs-sys-outgoing; Tue, 8 Aug 1995 02:34:55 -0700 Received: from time.cdrom.com (time.cdrom.com [192.216.222.226]) by freefall.cdrom.com (8.6.11/8.6.6) with ESMTP id CAA12800 ; Tue, 8 Aug 1995 02:34:47 -0700 Received: from localhost (localhost [127.0.0.1]) by time.cdrom.com (8.6.11/8.6.9) with SMTP id CAA01871; Tue, 8 Aug 1995 02:34:44 -0700 To: David Greenman cc: CVS-commiters@freefall.cdrom.com, cvs-sys@freefall.cdrom.com Subject: Re: cvs commit: src/sys/kern uipc_usrreq.c In-reply-to: Your message of "Mon, 07 Aug 1995 19:22:19 PDT." <199508080222.TAA14676@freefall.cdrom.com> Date: Tue, 08 Aug 1995 02:34:43 -0700 Message-ID: <1869.807874483@time.cdrom.com> From: "Jordan K. Hubbard" Sender: cvs-sys-owner@freebsd.org Precedence: bulk Submitted by: field should contain full name and email address, in cases where said submitter does not have an account on freebsd.org (in which case you just put in the username). > davidg 95/08/07 19:22:18 > > Modified: sys/kern uipc_usrreq.c > Log: > Move mbuf frees to after call to sorflush(). > > Submitted by: Matt Dillon From owner-cvs-sys Tue Aug 8 04:27:51 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id EAA22017 for cvs-sys-outgoing; Tue, 8 Aug 1995 04:27:51 -0700 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.cdrom.com (8.6.11/8.6.6) with ESMTP id EAA21996 ; Tue, 8 Aug 1995 04:27:20 -0700 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id VAA04961; Tue, 8 Aug 1995 21:22:21 +1000 Date: Tue, 8 Aug 1995 21:22:21 +1000 From: Bruce Evans Message-Id: <199508081122.VAA04961@godzilla.zeta.org.au> To: CVS-commiters@freefall.cdrom.com, cvs-sys@freefall.cdrom.com, dyson@freefall.cdrom.com Subject: Re: cvs commit: src/sys/i386/isa syscons.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk > Modified: sys/i386/isa syscons.c > Log: > Fixed a problem that malloc(..,..,M_NOWAIT) was being called without checking > for return values. It just so happens that in the cases where it is likely > to fail, it is okay to change the M_NOWAIT to M_WAITOK -- and all will > be well. This problem was manfest as a panic very regularly on a 4MB > system right after bootup. Actually it isn't really OK to simply substitute M_NOWAIT with M_WAITOK. If one of the malloc()s in scioctl() sleeps, then another process may run and use the half-allocated resources. If one of the malloc()s in in scioctl() or scopen() sleeps, then another process may run and repeat the ioctl and (at best) allocate the resources twice. I think M_WAITOK is no good for general use. Using it safely seems to _always_ require fairly tricky locking like we recently added to ffs_vget(). If there is any chance that a subroutine of a syscall calls malloc(..., M_WAIT_OK), then must be done to prevent the syscall being reentered or to support reentrancy, and all resource that might be used or change while malloc() is sleeping have to be locked down and/or checked after waking up. The unified buffer cache probably makes these races more common. scioctl() is also missing necessary spltty() locking. What happens if a character is echoed while the history buffer is being resized? ... Bruce From owner-cvs-sys Tue Aug 8 05:08:38 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id FAA25134 for cvs-sys-outgoing; Tue, 8 Aug 1995 05:08:38 -0700 Received: from Root.COM (implode.Root.COM [198.145.90.17]) by freefall.cdrom.com (8.6.11/8.6.6) with ESMTP id FAA25128 ; Tue, 8 Aug 1995 05:08:34 -0700 Received: from corbin.Root.COM (corbin [198.145.90.34]) by Root.COM (8.6.11/8.6.5) with ESMTP id FAA10352; Tue, 8 Aug 1995 05:07:44 -0700 Received: from localhost (localhost [127.0.0.1]) by corbin.Root.COM (8.6.11/8.6.5) with SMTP id FAA02118; Tue, 8 Aug 1995 05:09:19 -0700 Message-Id: <199508081209.FAA02118@corbin.Root.COM> To: "Jordan K. Hubbard" cc: CVS-commiters@freefall.cdrom.com, cvs-sys@freefall.cdrom.com Subject: Re: cvs commit: src/sys/kern uipc_usrreq.c In-reply-to: Your message of "Tue, 08 Aug 95 02:34:43 PDT." <1869.807874483@time.cdrom.com> From: David Greenman Reply-To: davidg@Root.COM Date: Tue, 08 Aug 1995 05:09:19 -0700 Sender: cvs-sys-owner@freebsd.org Precedence: bulk >Submitted by: field should contain full name and email address, in Only if I have the information available to me at the time of the commit. In this case and many others, I did not. -DG From owner-cvs-sys Tue Aug 8 05:29:06 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id FAA26330 for cvs-sys-outgoing; Tue, 8 Aug 1995 05:29:06 -0700 Received: (from jkh@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id FAA26320 ; Tue, 8 Aug 1995 05:29:02 -0700 Date: Tue, 8 Aug 1995 05:29:02 -0700 From: "Jordan K. Hubbard" Message-Id: <199508081229.FAA26320@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/i386/isa syscons.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk jkh 95/08/08 05:29:01 Branch: sys/i386/isa RELENG_2_1_0 Modified: sys/i386/isa syscons.c Log: Bring up revision 1.123 from the HEAD. This just incorporates John's malloc() patches, it doesn't bring it what looks to be a number of Bruce's changes which probably depend on the tty changes. Submitted by: dyson From owner-cvs-sys Tue Aug 8 05:29:40 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id FAA26369 for cvs-sys-outgoing; Tue, 8 Aug 1995 05:29:40 -0700 Received: (from jkh@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id FAA26359 ; Tue, 8 Aug 1995 05:29:38 -0700 Date: Tue, 8 Aug 1995 05:29:38 -0700 From: "Jordan K. Hubbard" Message-Id: <199508081229.FAA26359@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/i386/isa seagate.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk jkh 95/08/08 05:29:38 Branch: sys/i386/isa RELENG_2_1_0 Modified: sys/i386/isa seagate.c Log: Bring in changes from the HEAD. Submitted by: Stephen Hocking From owner-cvs-sys Tue Aug 8 05:35:17 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id FAA26605 for cvs-sys-outgoing; Tue, 8 Aug 1995 05:35:17 -0700 Received: from time.cdrom.com (time.cdrom.com [192.216.222.226]) by freefall.cdrom.com (8.6.11/8.6.6) with ESMTP id FAA26599 ; Tue, 8 Aug 1995 05:35:08 -0700 Received: from localhost (localhost [127.0.0.1]) by time.cdrom.com (8.6.11/8.6.9) with SMTP id FAA19408; Tue, 8 Aug 1995 05:34:28 -0700 To: Bruce Evans cc: CVS-commiters@freefall.cdrom.com, cvs-sys@freefall.cdrom.com, dyson@freefall.cdrom.com Subject: Re: cvs commit: src/sys/i386/isa syscons.c In-reply-to: Your message of "Tue, 08 Aug 1995 21:22:21 +1000." <199508081122.VAA04961@godzilla.zeta.org.au> Date: Tue, 08 Aug 1995 05:34:28 -0700 Message-ID: <19405.807885268@time.cdrom.com> From: "Jordan K. Hubbard" Sender: cvs-sys-owner@freebsd.org Precedence: bulk > Actually it isn't really OK to simply substitute M_NOWAIT with M_WAITOK. > If one of the malloc()s in scioctl() sleeps, then another process may > run and use the half-allocated resources. If one of the malloc()s in in > scioctl() or scopen() sleeps, then another process may run and repeat the > ioctl and (at best) allocate the resources twice. Argh. Perhaps I was too hasty. If John decides to rearchitect this, I'll pull it out of 2.1 Jordan From owner-cvs-sys Tue Aug 8 05:53:14 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id FAA27253 for cvs-sys-outgoing; Tue, 8 Aug 1995 05:53:14 -0700 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.cdrom.com (8.6.11/8.6.6) with ESMTP id FAA27246 ; Tue, 8 Aug 1995 05:53:06 -0700 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id WAA08529; Tue, 8 Aug 1995 22:48:57 +1000 Date: Tue, 8 Aug 1995 22:48:57 +1000 From: Bruce Evans Message-Id: <199508081248.WAA08529@godzilla.zeta.org.au> To: bde@zeta.org.au, jkh@time.cdrom.com Subject: Re: cvs commit: src/sys/i386/isa syscons.c Cc: CVS-commiters@freefall.cdrom.com, cvs-sys@freefall.cdrom.com, dyson@freefall.cdrom.com Sender: cvs-sys-owner@freebsd.org Precedence: bulk >> Actually it isn't really OK to simply substitute M_NOWAIT with M_WAITOK. >Argh. Perhaps I was too hasty. If John decides to rearchitect this, >I'll pull it out of 2.1 It has a lot of company. I looked at all the isa drivers that use M_WAITOK and there seems to be a problem in them all. Some of them bogusly check whether the waiting malloc() returns 0 and could probably be fixed easily by switching to a non-waiting malloc(). There aren't many isa drivers with the problem so fixing it should be manageable especially if it is acceptable for open() to return ENOMEM. Bruce From owner-cvs-sys Tue Aug 8 05:55:56 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id FAA27316 for cvs-sys-outgoing; Tue, 8 Aug 1995 05:55:56 -0700 Received: (from dyson@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id FAA27304 ; Tue, 8 Aug 1995 05:55:50 -0700 From: John Dyson Message-Id: <199508081255.FAA27304@freefall.cdrom.com> Subject: Re: cvs commit: src/sys/i386/isa syscons.c To: bde@zeta.org.au (Bruce Evans) Date: Tue, 8 Aug 1995 05:55:50 -0700 (PDT) Cc: CVS-commiters@freefall.cdrom.com, cvs-sys@freefall.cdrom.com In-Reply-To: <199508081122.VAA04961@godzilla.zeta.org.au> from "Bruce Evans" at Aug 8, 95 09:22:21 pm X-Mailer: ELM [version 2.4 PL24] Content-Type: text Content-Length: 1935 Sender: cvs-sys-owner@freebsd.org Precedence: bulk > > > Modified: sys/i386/isa syscons.c > > Log: > > Fixed a problem that malloc(..,..,M_NOWAIT) was being called without checking > > for return values. It just so happens that in the cases where it is likely > > to fail, it is okay to change the M_NOWAIT to M_WAITOK -- and all will > > be well. This problem was manfest as a panic very regularly on a 4MB > > system right after bootup. > > Actually it isn't really OK to simply substitute M_NOWAIT with M_WAITOK. > If one of the malloc()s in scioctl() sleeps, then another process may > run and use the half-allocated resources. If one of the malloc()s in in > scioctl() or scopen() sleeps, then another process may run and repeat the > ioctl and (at best) allocate the resources twice. > You are right -- I'll fix it soon, but at least the system should not crash now :-). At least in the case of a failure we dont create a NULL pointer to set syscons up as a time-bomb.. I was recently *very embarassed* in front of one of my customers because of this bug :-(. I had 3/4 boot failures until these changes. > I think M_WAITOK is no good for general use. Using it safely seems to > _always_ require fairly tricky locking like we recently added to > ffs_vget(). If there is any chance that a subroutine of a syscall calls > malloc(..., M_WAIT_OK), then must be done to prevent the syscall being > reentered or to support reentrancy, and all resource that might be used > or change while malloc() is sleeping have to be locked down and/or > checked after waking up. > > The unified buffer cache probably makes these races more common. > It is very tricky to get the allocations correct, but the merged cache code does lock vnodes and check memory allocations. Additionally, looking at the vfs_bio it does M_NOWAIT (or equiv vm_page_alloc). (In fact, I have a deadlock free nfs_bio locking mechanism now, that I am experimenting with.) John dyson@root.com From owner-cvs-sys Tue Aug 8 06:04:42 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id GAA27721 for cvs-sys-outgoing; Tue, 8 Aug 1995 06:04:42 -0700 Received: (from dyson@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id GAA27709 ; Tue, 8 Aug 1995 06:04:37 -0700 From: John Dyson Message-Id: <199508081304.GAA27709@freefall.cdrom.com> Subject: Re: cvs commit: src/sys/i386/isa syscons.cy To: bde@zeta.org.au (Bruce Evans) Date: Tue, 8 Aug 1995 06:04:37 -0700 (PDT) Cc: bde@zeta.org.au, jkh@time.cdrom.com, CVS-commiters@freefall.cdrom.com, cvs-sys@freefall.cdrom.com In-Reply-To: <199508081248.WAA08529@godzilla.zeta.org.au> from "Bruce Evans" at Aug 8, 95 10:48:57 pm X-Mailer: ELM [version 2.4 PL24] Content-Type: text Content-Length: 1273 Sender: cvs-sys-owner@freebsd.org Precedence: bulk > > >> Actually it isn't really OK to simply substitute M_NOWAIT with M_WAITOK. > > >Argh. Perhaps I was too hasty. If John decides to rearchitect this, > >I'll pull it out of 2.1 > > It has a lot of company. I looked at all the isa drivers that use M_WAITOK > and there seems to be a problem in them all. Some of them bogusly check > whether the waiting malloc() returns 0 and could probably be fixed easily > by switching to a non-waiting malloc(). There aren't many isa drivers > with the problem so fixing it should be manageable especially if it is > acceptable for open() to return ENOMEM. > > Bruce > Actually, I believe that the drivers should generally try to handle the low memory conditions correctly. I don't want to have sporadic program failures just because memory is low. I would like to see ENOMEM to mostly mean "out of VM". Note that memory can be low fairly often... For example my syscons problem in 4MB!!! There would probably be more program failures (and then that would reflect on the system quality, whether or not the calling program should handle the problem "correctly".) Right now, the syscons changes mostly keep the system from crashing, and a proper fix should be implemented in the next couple of days. John dyson@root.com From owner-cvs-sys Tue Aug 8 06:27:17 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id GAA28418 for cvs-sys-outgoing; Tue, 8 Aug 1995 06:27:17 -0700 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.cdrom.com (8.6.11/8.6.6) with ESMTP id GAA28401 ; Tue, 8 Aug 1995 06:26:55 -0700 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id XAA09841; Tue, 8 Aug 1995 23:24:41 +1000 Date: Tue, 8 Aug 1995 23:24:41 +1000 From: Bruce Evans Message-Id: <199508081324.XAA09841@godzilla.zeta.org.au> To: bde@zeta.org.au, dyson@freefall.cdrom.com Subject: Re: cvs commit: src/sys/i386/isa syscons.c Cc: CVS-commiters@freefall.cdrom.com, cvs-sys@freefall.cdrom.com Sender: cvs-sys-owner@freebsd.org Precedence: bulk >> I think M_WAITOK is no good for general use. Using it safely seems to >> _always_ require fairly tricky locking like we recently added to >> ffs_vget(). If there is any chance that a subroutine of a syscall calls >> ... >> The unified buffer cache probably makes these races more common. >> >It is very tricky to get the allocations correct, but the merged cache >code does lock vnodes and check memory allocations. Additionally, looking >at the vfs_bio it does M_NOWAIT (or equiv vm_page_alloc). (In fact, >I have a deadlock free nfs_bio locking mechanism now, that I am experimenting >with.) My main point was that the problem potentially applies to all uses of M_WAITOK. There are currently 238 plus more in aliases. 5 out of 5 new ones are buggy. I guess more than half of the others are buggy. I didn't mean that the unified buffer cache has bugs. Races should be more common just because memory is more fully committed. Bruce From owner-cvs-sys Tue Aug 8 07:08:21 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id HAA29687 for cvs-sys-outgoing; Tue, 8 Aug 1995 07:08:21 -0700 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.cdrom.com (8.6.11/8.6.6) with ESMTP id HAA29663 ; Tue, 8 Aug 1995 07:07:55 -0700 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id AAA11579; Wed, 9 Aug 1995 00:04:09 +1000 Date: Wed, 9 Aug 1995 00:04:09 +1000 From: Bruce Evans Message-Id: <199508081404.AAA11579@godzilla.zeta.org.au> To: bde@zeta.org.au, dyson@freefall.cdrom.com Subject: Re: cvs commit: src/sys/i386/isa syscons.cy Cc: CVS-commiters@freefall.cdrom.com, cvs-sys@freefall.cdrom.com, jkh@time.cdrom.com Sender: cvs-sys-owner@freebsd.org Precedence: bulk >Actually, I believe that the drivers should generally try to handle the >low memory conditions correctly. I don't want to have sporadic program >failures just because memory is low. I would like to see ENOMEM to mostly >mean "out of VM". Note that memory can be low fairly often... For >example my syscons problem in 4MB!!! There would probably be more >program failures (and then that would reflect on the system quality, >whether or not the calling program should handle the problem "correctly".) >Right now, the syscons changes mostly keep the system from crashing, and >a proper fix should be implemented in the next couple of days. Also, backing out cleanly may be harder than (correctly) waiting. I used M_WAITOK in the tty driver and in the slice non-driver because backing out would be hard. However, at least the slice non-driver should be _much_ more careful: what happens memory runs out when a swap device is being opened? The fixed version of scopen() should look something like this: #ifdef new loop: #endif if (!(tp->t_state & TS_ISOPEN)) ... if (!console[minor(dev)]) { #ifndef new console[minor(dev)] = alloc_scp(); #else sc_stat *tmp; tmp = alloc_scp(); if (console[minor(dev)]) free_scp(tmp); else console[minor(dev)] = tmp; /* * Restart open to check for changed conditions. scopen() * is simple, but there's still TS_XCLUDE to worry about. * Note that we have to loop even if TS_ISOPEN is now clear, * because another process may have opened and closed the * device and messed up the settings while alloc_scp() * was asleep. */ goto loop; #endif } This can be simplified a bit by allocating all resources before checking TS_ISOPEN, but that may not be practical in all cases. Are you going to rewrite 238 cases like this? :-) Bruce From owner-cvs-sys Tue Aug 8 10:27:06 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id KAA06612 for cvs-sys-outgoing; Tue, 8 Aug 1995 10:27:06 -0700 Received: from gndrsh.aac.dev.com (gndrsh.aac.dev.com [198.145.92.241]) by freefall.cdrom.com (8.6.11/8.6.6) with ESMTP id KAA06606 ; Tue, 8 Aug 1995 10:27:01 -0700 Received: (from rgrimes@localhost) by gndrsh.aac.dev.com (8.6.11/8.6.9) id KAA04241; Tue, 8 Aug 1995 10:26:17 -0700 From: "Rodney W. Grimes" Message-Id: <199508081726.KAA04241@gndrsh.aac.dev.com> Subject: Re: cvs commit: src/sys/i386/isa syscons.c To: jkh@time.cdrom.com (Jordan K. Hubbard) Date: Tue, 8 Aug 1995 10:26:16 -0700 (PDT) Cc: bde@zeta.org.au, CVS-commiters@freefall.cdrom.com, cvs-sys@freefall.cdrom.com, dyson@freefall.cdrom.com In-Reply-To: <19405.807885268@time.cdrom.com> from "Jordan K. Hubbard" at Aug 8, 95 05:34:28 am X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 942 Sender: cvs-sys-owner@freebsd.org Precedence: bulk > > > Actually it isn't really OK to simply substitute M_NOWAIT with M_WAITOK. > > If one of the malloc()s in scioctl() sleeps, then another process may > > run and use the half-allocated resources. If one of the malloc()s in in > > scioctl() or scopen() sleeps, then another process may run and repeat the > > ioctl and (at best) allocate the resources twice. > > Argh. Perhaps I was too hasty. If John decides to rearchitect this, > I'll pull it out of 2.1 We really should let bits sit in -current for a week or two before pulling them into the 2.1 branch, per David's mail on this subject about how to get stuff into the branch, I though that was the plan. This allows time for these types of problems to surface so we don't have to go back things out of the -stable branch. -- Rod Grimes rgrimes@gndrsh.aac.dev.com Accurate Automation Company Reliable computers for FreeBSD From owner-cvs-sys Tue Aug 8 14:28:54 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id OAA15901 for cvs-sys-outgoing; Tue, 8 Aug 1995 14:28:54 -0700 Received: from Root.COM (implode.Root.COM [198.145.90.17]) by freefall.cdrom.com (8.6.11/8.6.6) with ESMTP id OAA15893 ; Tue, 8 Aug 1995 14:28:32 -0700 Received: from corbin.Root.COM (corbin [198.145.90.34]) by Root.COM (8.6.11/8.6.5) with ESMTP id OAA11073; Tue, 8 Aug 1995 14:27:37 -0700 Received: from localhost (localhost [127.0.0.1]) by corbin.Root.COM (8.6.11/8.6.5) with SMTP id OAA02174; Tue, 8 Aug 1995 14:29:14 -0700 Message-Id: <199508082129.OAA02174@corbin.Root.COM> To: "Rodney W. Grimes" cc: CVS-commiters@freefall.cdrom.com, cvs-sys@freefall.cdrom.com Subject: Re: cvs commit: src/sys/i386/isa syscons.c In-reply-to: Your message of "Tue, 08 Aug 95 10:26:16 PDT." <199508081726.KAA04241@gndrsh.aac.dev.com> From: David Greenman Reply-To: davidg@Root.COM Date: Tue, 08 Aug 1995 14:29:13 -0700 Sender: cvs-sys-owner@freebsd.org Precedence: bulk >> >> > Actually it isn't really OK to simply substitute M_NOWAIT with M_WAITOK. >> > If one of the malloc()s in scioctl() sleeps, then another process may >> > run and use the half-allocated resources. If one of the malloc()s in in >> > scioctl() or scopen() sleeps, then another process may run and repeat the >> > ioctl and (at best) allocate the resources twice. >> >> Argh. Perhaps I was too hasty. If John decides to rearchitect this, >> I'll pull it out of 2.1 > >We really should let bits sit in -current for a week or two before pulling >them into the 2.1 branch, per David's mail on this subject about how to get >stuff into the branch, I though that was the plan. This allows time for >these types of problems to surface so we don't have to go back things out >of the -stable branch. I've generally been doing this, with a few exceptions for extremely well understood changes...but even those usually get a few days of testing in -current. Generally, assume that I'm responsible for managing what contributions make it into the 2.1 branch. I spend a large amount of time evaluating and testing things before bringing them in, and short circuiting this procedure only results in the reduced quality of the product. -DG From owner-cvs-sys Tue Aug 8 15:42:04 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id PAA19024 for cvs-sys-outgoing; Tue, 8 Aug 1995 15:42:04 -0700 Received: from gndrsh.aac.dev.com (gndrsh.aac.dev.com [198.145.92.241]) by freefall.cdrom.com (8.6.11/8.6.6) with ESMTP id PAA19016 ; Tue, 8 Aug 1995 15:41:56 -0700 Received: (from rgrimes@localhost) by gndrsh.aac.dev.com (8.6.11/8.6.9) id PAA05313; Tue, 8 Aug 1995 15:41:34 -0700 From: "Rodney W. Grimes" Message-Id: <199508082241.PAA05313@gndrsh.aac.dev.com> Subject: Re: cvs commit: src/sys/i386/isa syscons.c To: davidg@Root.COM Date: Tue, 8 Aug 1995 15:41:33 -0700 (PDT) Cc: CVS-commiters@freefall.cdrom.com, cvs-sys@freefall.cdrom.com In-Reply-To: <199508082129.OAA02174@corbin.Root.COM> from "David Greenman" at Aug 8, 95 02:29:13 pm X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1452 Sender: cvs-sys-owner@freebsd.org Precedence: bulk > > >> > >> > Actually it isn't really OK to simply substitute M_NOWAIT with M_WAITOK. > >> > If one of the malloc()s in scioctl() sleeps, then another process may > >> > run and use the half-allocated resources. If one of the malloc()s in in > >> > scioctl() or scopen() sleeps, then another process may run and repeat the > >> > ioctl and (at best) allocate the resources twice. > >> > >> Argh. Perhaps I was too hasty. If John decides to rearchitect this, > >> I'll pull it out of 2.1 > > > >We really should let bits sit in -current for a week or two before pulling > >them into the 2.1 branch, per David's mail on this subject about how to get > >stuff into the branch, I though that was the plan. This allows time for > >these types of problems to surface so we don't have to go back things out > >of the -stable branch. > > I've generally been doing this, with a few exceptions for extremely well > understood changes...but even those usually get a few days of testing in > -current. > Generally, assume that I'm responsible for managing what contributions make > it into the 2.1 branch. I spend a large amount of time evaluating and testing > things before bringing them in, and short circuiting this procedure only > results in the reduced quality of the product. Agreed. -- Rod Grimes rgrimes@gndrsh.aac.dev.com Accurate Automation Company Reliable computers for FreeBSD From owner-cvs-sys Tue Aug 8 19:39:45 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id TAA04662 for cvs-sys-outgoing; Tue, 8 Aug 1995 19:39:45 -0700 Received: (from dyson@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id TAA04643 ; Tue, 8 Aug 1995 19:39:36 -0700 Date: Tue, 8 Aug 1995 19:39:36 -0700 From: John Dyson Message-Id: <199508090239.TAA04643@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/i386/include spl.h Sender: cvs-sys-owner@freebsd.org Precedence: bulk dyson 95/08/08 19:39:34 Modified: sys/i386/include spl.h Log: Fixed my usage of "asm" instead of "__asm" and "volatile" instead of "__volatile". Note also that the original mods that were submitted by me were as a result of a discussion between various FreeBSD contributors. Submitted by: peter@haywire.dialix.com (Peter Wemm) From owner-cvs-sys Wed Aug 9 06:13:55 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id GAA11741 for cvs-sys-outgoing; Wed, 9 Aug 1995 06:13:55 -0700 Received: (from peter@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id GAA11729 ; Wed, 9 Aug 1995 06:13:49 -0700 Date: Wed, 9 Aug 1995 06:13:49 -0700 From: Peter Wemm Message-Id: <199508091313.GAA11729@freefall.FreeBSD.org> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/i386/isa si.c sireg.h Sender: cvs-sys-owner@freebsd.org Precedence: bulk peter 95/08/09 06:13:48 Modified: sys/i386/conf LINT Log: Add Specialix driver to LINT Modified: sys/i386/eisa eisadevs.c Log: Add hook for EISA probe for Specialix EISA card. Added: sys/i386/include si.h sys/i386/isa si.c sireg.h Log: Bring in my long-overdue version of the Specialix driver. This was originally ported to BSDI by Andy Rutter . At the end of the day, this code has very little in common with Andy's version, or the Specialix SYSV version. Essentially it has been gradually and almost completely rewritten, with LOTS of advice and inspiration from Bruce Evans. There are a couple of missing bits still, but they are minor. The user-mode "sicontrol" program is in sad shape and will come in soon. Transparent printing died a timely death.. Maybe later.. Jeremy Rolls @ Specialix (Development directory) has confirmed this is OK to distribute, and Andy personally sent me his version that I started from. Although this driver stood up to a nasty stress-test in this form, I am not confident that there are no nasty bugs lurking. People are welcome to try it, but dont go out and buy one just yet.. :-) And *DONT* use it on a mission-critical machine... This is ALPHA QUALITY! From owner-cvs-sys Wed Aug 9 07:52:58 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id HAA16084 for cvs-sys-outgoing; Wed, 9 Aug 1995 07:52:58 -0700 Received: from haywire.DIALix.COM (haywire.DIALix.COM [192.203.228.65]) by freefall.FreeBSD.org (8.6.11/8.6.6) with ESMTP id HAA16064 ; Wed, 9 Aug 1995 07:52:41 -0700 Received: (from peter@localhost) by haywire.DIALix.COM (8.7.Beta.11/8.7.Beta.11/DIALix) id WAA27566; Wed, 9 Aug 1995 22:03:46 +0800 (WST) Date: Wed, 9 Aug 1995 22:03:45 +0800 (WST) From: Peter Wemm To: CVS-commiters@freefall.FreeBSD.org, cvs-sys@freefall.FreeBSD.org Subject: Re: cvs commit: src/sys/i386/isa si.c sireg.h In-Reply-To: <199508091313.GAA11729@freefall.FreeBSD.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: cvs-sys-owner@freebsd.org Precedence: bulk On Wed, 9 Aug 1995, Peter Wemm wrote: > peter 95/08/09 06:13:48 > > Modified: sys/i386/conf LINT > Log: > Add Specialix driver to LINT > > Modified: sys/i386/eisa eisadevs.c > Log: > Add hook for EISA probe for Specialix EISA card. > > Added: sys/i386/include si.h > sys/i386/isa si.c sireg.h > Log: > Bring in my long-overdue version of the Specialix driver. > > This was originally ported to BSDI by Andy Rutter . > At the end of the day, this code has very little in common with Andy's > version, or the Specialix SYSV version. Essentially it has been gradually > and almost completely rewritten, with LOTS of advice and inspiration from > Bruce Evans. There are a couple of missing bits still, but they are minor. > > The user-mode "sicontrol" program is in sad shape and will come in soon. > Transparent printing died a timely death.. Maybe later.. > > Jeremy Rolls @ Specialix (Development directory) has confirmed this is OK ^^^^^^^^^ URK! Try: "director" > to distribute, and Andy personally sent me his version that I started from. > > Although this driver stood up to a nasty stress-test in this form, I am not > confident that there are no nasty bugs lurking. > > People are welcome to try it, but dont go out and buy one just yet.. :-) > And *DONT* use it on a mission-critical machine... This is ALPHA QUALITY! This is what I used in MAKEDEV to create some nodes. Since you can get 96 ports per system with the driver as it currently stands, or 128 with a modification-to-be-written-yet, naming the devices is a problem.. :-( ttyA*, ttyB*, ttyC*, ttyD* could all be taken up with the current "ttyminor" implementation. (ttyD* would probably conflict withe the Digiboard driver...) The driver uses the same initial/lock devices as sio and cy. You probably want to set the initial crtscts on in /etc/rc.serial.. # Specialix ttyA?) unit=`expr $i : 'tty.*\(.\)$'` rm -f tty*A$unit m=`ttyminor $unit` mknod ttyA$unit c 68 `expr $m - 1` mknod ttyiA$unit c 68 `expr $m + 65536 - 1` mknod ttylA$unit c 68 `expr $m + 131072 - 1` chown root.wheel ttyA$unit ;; cuaA?) umask 7 unit=`expr $i : 'cua.*\(.\)$'` rm -f cuaA$unit m=`ttyminor $unit` mknod cuaA$unit c 68 `expr $m + 128 - 1` chown uucp.dialer cuaA$unit umask 77 ;; # the user mode process "gets" to the card via this.. si_control) rm -f si_control mknod si_control c 68 262144 chmod 600 si_control chown root.wheel si_control ;; I think it's time to bite the bullet and start work on extending the tty column widths in ps, w, finger, etc. It'd be nice to be consistant with the manuals that come with the hardware and use ttyA1 through ttyA128 without getting it truncated around the place.. BTW: I know.. there is no vendor branch, because the copy on freefall *is* the master.. :-) There was little to be gained by importing Andy's version as a vendor branch, because he apparently isn't working on it and hasn't for the last few years.. And besides, there was a near 100% conflict rate, defeating the purpose.. The missing user-mode sicontrol program isn't much use anymore, except for tuning the interupt characteristics, and for fine-grained debugging control. A lot of it's previous function was made obsolete by the use of the initial/lock devices. This program also used to actually boot the card and download the firmware.. but that was too unwieldy if you want a slip/ppp connection early in the boot sequence. Oh, note that "comcontrol" is applicable to this driver as well. It uses the same ioctl's to control the dtr hold-down and the drain waits. What's still to be done: - there's still some redundant code to come out - the user mode control program needs to be cleaned up and finished - a curses-monitor program like the slxview on the SVR4 version would be **very** nice.. - proper "polling" mode needs to be implemented.. where it runs on a 1-tick timeout and can handle 4 host cards (128 ports) instead of 3 (96 ports). - somebody with an eisa card needs to be brave enough to test it and fix it.. I can't.. :-( - I think the tty driver needs to have some finger on the pulse of what's going on with the rts/cts/xon/xoff flow control... - the output cooking should be enabled once the tty driver can do it cleanly.. this is only a very minor gain though... - finally, the code needs to be optimized.. bleah. it's a mess in there.. the circular 256 byte input and output buffers are messy. Comments welcome.. Bugfixes greatly appreciated! -Peter From owner-cvs-sys Wed Aug 9 07:55:54 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id HAA16188 for cvs-sys-outgoing; Wed, 9 Aug 1995 07:55:54 -0700 Received: from Sysiphos (Sysiphos.MI.Uni-Koeln.DE [134.95.212.10]) by freefall.FreeBSD.org (8.6.11/8.6.6) with SMTP id HAA16179 ; Wed, 9 Aug 1995 07:55:34 -0700 Received: by Sysiphos id AA09425 (5.67b/IDA-1.5); Wed, 9 Aug 1995 14:10:48 +0200 Message-Id: <199508091210.AA09425@Sysiphos> From: esser@zpr.uni-koeln.de (Stefan Esser) Date: Wed, 9 Aug 1995 14:10:47 +0200 In-Reply-To: David Greenman "cvs commit: src/sys/ufs/ffs ffs_inode.c" (Aug 3, 22:49) X-Mailer: Mail User's Shell (7.2.6 alpha(2) 7/9/95) To: David Greenman Subject: Re: cvs commit: src/sys/ufs/ffs ffs_inode.c Cc: CVS-commiters@freefall.freebsd.org, cvs-sys@freefall.freebsd.org Sender: cvs-sys-owner@freebsd.org Precedence: bulk On Aug 3, 22:49, David Greenman wrote: } Subject: cvs commit: src/sys/ufs/ffs ffs_inode.c } davidg 95/08/03 22:49:18 } } Modified: sys/ufs/ffs ffs_inode.c } Log: } Use the correct flags (IO_SYNC -> B_SYNC) when deciding to do a sync or } async write in the section that changes the filesize. The bug resulted } in the updates always being async. What performance improvement is to expect from that patch ? Does it only make a difference if a file is modified, not if it is created or deleted ? I did some tests, creating and deleting 1000 files from a small shell script: #!/bin/sh for i in 0 1 2 3 4 5 6 7 8 9 do mkdir $i for j in 0 1 2 3 4 5 6 7 8 9 do mkdir $i/$j for k in 0 1 2 3 4 5 6 7 8 9 do echo "file $i$j$k" > $i/$j/$k done done done I found that the "-async" option made no difference at all ! Using "simple" tags instead of "ordered" tags for writes made the drive reorder file and meta data updates, resulting in 30% higher file creation rate ... f1000.sh ======== tags simple ASYNC SYNC --------------------------------------------- 4 n 37.59 36.65 16 n 36.89 31.75 16 y 28.55 28.58 rm -rf * ======== tags simple ASYNC SYNC --------------------------------------------- 4 n 24.30 23.34 16 n 23.87 21.53 16 y 22.56 22.82 I would have expected the ASYNC mount to make much more of a diference ... Regards, STefan -- Stefan Esser Internet: Zentrum fuer Paralleles Rechnen Tel: +49 221 4706021 Universitaet zu Koeln FAX: +49 221 4705160 Weyertal 80 50931 Koeln From owner-cvs-sys Wed Aug 9 19:09:26 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id TAA10499 for cvs-sys-outgoing; Wed, 9 Aug 1995 19:09:26 -0700 Received: from Root.COM (implode.Root.COM [198.145.90.17]) by freefall.FreeBSD.org (8.6.11/8.6.6) with ESMTP id TAA10487 ; Wed, 9 Aug 1995 19:09:16 -0700 Received: from corbin.Root.COM (corbin [198.145.90.34]) by Root.COM (8.6.11/8.6.5) with ESMTP id TAA12947; Wed, 9 Aug 1995 19:08:22 -0700 Received: from localhost (localhost [127.0.0.1]) by corbin.Root.COM (8.6.11/8.6.5) with SMTP id TAA00461; Wed, 9 Aug 1995 19:10:02 -0700 Message-Id: <199508100210.TAA00461@corbin.Root.COM> To: esser@ZPR.Uni-Koeln.DE (Stefan Esser) cc: CVS-commiters@freefall.freebsd.org, cvs-sys@freefall.freebsd.org Subject: Re: cvs commit: src/sys/ufs/ffs ffs_inode.c In-reply-to: Your message of "Wed, 09 Aug 95 14:10:47 +0200." <199508091210.AA09425@Sysiphos> From: David Greenman Reply-To: davidg@Root.COM Date: Wed, 09 Aug 1995 19:09:58 -0700 Sender: cvs-sys-owner@freebsd.org Precedence: bulk >On Aug 3, 22:49, David Greenman wrote: >} Subject: cvs commit: src/sys/ufs/ffs ffs_inode.c >} davidg 95/08/03 22:49:18 >} >} Modified: sys/ufs/ffs ffs_inode.c >} Log: >} Use the correct flags (IO_SYNC -> B_SYNC) when deciding to do a sync or >} async write in the section that changes the filesize. The bug resulted >} in the updates always being async. > >What performance improvement is >to expect from that patch ? None at all. It isn't a performance change; it's a bugfix. The bug could have resulted in certain types of FS corruption if the system crashed at just the wrong time. >I found that the "-async" option >made no difference at all ! That's because it isn't implemented in the FreeBSD kernel. We will have support for it when we integrate the 4.4BSD-Lite/2 changes. -DG From owner-cvs-sys Thu Aug 10 01:11:31 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id BAA23850 for cvs-sys-outgoing; Thu, 10 Aug 1995 01:11:31 -0700 Received: (from peter@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id BAA23809 ; Thu, 10 Aug 1995 01:11:03 -0700 Date: Thu, 10 Aug 1995 01:11:03 -0700 From: Peter Wemm Message-Id: <199508100811.BAA23809@freefall.FreeBSD.org> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/i386/isa si_code.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk peter 95/08/10 01:11:01 Added: sys/i386/isa si_code.c Log: Drat! I forgot to add this part of the Specialix Driver.. This is the firmware that is downnloaded onto the host card during boot. Obtained from:Specialix International, via Andy Rutter From owner-cvs-sys Thu Aug 10 20:53:51 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id UAA01191 for cvs-sys-outgoing; Thu, 10 Aug 1995 20:53:51 -0700 Received: (from davidg@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id UAA01173 ; Thu, 10 Aug 1995 20:53:43 -0700 Date: Thu, 10 Aug 1995 20:53:43 -0700 From: David Greenman Message-Id: <199508110353.UAA01173@freefall.FreeBSD.org> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/kern uipc_usrreq.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk davidg 95/08/10 20:53:42 Branch: sys/kern RELENG_2_1_0 Modified: sys/kern uipc_usrreq.c Log: Brought in changes from rev 1.10: move mbuf frees to after sorflush(). From owner-cvs-sys Thu Aug 10 21:01:12 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id VAA01389 for cvs-sys-outgoing; Thu, 10 Aug 1995 21:01:12 -0700 Received: (from davidg@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id VAA01379 ; Thu, 10 Aug 1995 21:01:08 -0700 Date: Thu, 10 Aug 1995 21:01:08 -0700 From: David Greenman Message-Id: <199508110401.VAA01379@freefall.FreeBSD.org> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/kern subr_prf.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk davidg 95/08/10 21:01:07 Branch: sys/kern RELENG_2_1_0 Modified: sys/kern subr_prf.c Log: Brought in change from revs 1.14-1.17: fix message buffer range checking and printf %p printing. From owner-cvs-sys Thu Aug 10 21:02:28 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id VAA01476 for cvs-sys-outgoing; Thu, 10 Aug 1995 21:02:28 -0700 Received: (from davidg@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id VAA01466 ; Thu, 10 Aug 1995 21:02:26 -0700 Date: Thu, 10 Aug 1995 21:02:26 -0700 From: David Greenman Message-Id: <199508110402.VAA01466@freefall.FreeBSD.org> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/kern subr_log.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk davidg 95/08/10 21:02:26 Branch: sys/kern RELENG_2_1_0 Modified: sys/kern subr_log.c Log: Brought in changes from rev 1.9: fix message buffer range checking. From owner-cvs-sys Thu Aug 10 21:04:24 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id VAA01581 for cvs-sys-outgoing; Thu, 10 Aug 1995 21:04:24 -0700 Received: (from davidg@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id VAA01571 ; Thu, 10 Aug 1995 21:04:22 -0700 Date: Thu, 10 Aug 1995 21:04:22 -0700 From: David Greenman Message-Id: <199508110404.VAA01571@freefall.FreeBSD.org> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/sys msgbuf.h Sender: cvs-sys-owner@freebsd.org Precedence: bulk davidg 95/08/10 21:04:21 Branch: sys/sys RELENG_2_1_0 Modified: sys/sys msgbuf.h Log: Brought in changes from rev 1.6: fix message buffer range checking. From owner-cvs-sys Fri Aug 11 00:26:39 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id AAA09476 for cvs-sys-outgoing; Fri, 11 Aug 1995 00:26:39 -0700 Received: (from davidg@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id AAA09466 ; Fri, 11 Aug 1995 00:26:28 -0700 Date: Fri, 11 Aug 1995 00:26:28 -0700 From: David Greenman Message-Id: <199508110726.AAA09466@freefall.FreeBSD.org> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/miscfs/procfs procfs_vnops.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk davidg 95/08/11 00:26:27 Modified: sys/miscfs/procfs procfs_vnops.c Log: Be careful not to dereference NULL credentials pointers when doing the getattr function. From owner-cvs-sys Fri Aug 11 04:31:52 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id EAA17093 for cvs-sys-outgoing; Fri, 11 Aug 1995 04:31:52 -0700 Received: (from davidg@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id EAA17078 ; Fri, 11 Aug 1995 04:31:19 -0700 Date: Fri, 11 Aug 1995 04:31:19 -0700 From: David Greenman Message-Id: <199508111131.EAA17078@freefall.FreeBSD.org> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/ufs/mfs mfs_vfsops.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk davidg 95/08/11 04:31:18 Modified: sys/isofs/cd9660 cd9660_vfsops.c sys/kern init_main.c vfs_subr.c vfs_syscalls.c sys/nfs nfs_nqlease.c nfs_vfsops.c sys/sys mount.h sys/ufs/ffs ffs_vfsops.c sys/ufs/lfs lfs_bio.c sys/ufs/mfs mfs_vfsops.c Log: Converted mountlist to a CIRCLEQ. Partially obtained from: 4.4BSD-Lite2 From owner-cvs-sys Fri Aug 11 10:18:48 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id KAA28407 for cvs-sys-outgoing; Fri, 11 Aug 1995 10:18:48 -0700 Received: (from joerg@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id KAA28397 ; Fri, 11 Aug 1995 10:18:43 -0700 Date: Fri, 11 Aug 1995 10:18:43 -0700 From: Joerg Wunsch Message-Id: <199508111718.KAA28397@freefall.FreeBSD.org> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/i386/conf LINT Sender: cvs-sys-owner@freebsd.org Precedence: bulk joerg 95/08/11 10:18:43 Modified: sys/i386/conf LINT Log: Document two specials of the `lpt' driver: the port address can be specified as `?', and the irq and vector clauses may be omitted, forcing the port into polled mode. From owner-cvs-sys Sat Aug 12 06:40:45 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id GAA25475 for cvs-sys-outgoing; Sat, 12 Aug 1995 06:40:45 -0700 Received: (from ats@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id GAA25465 ; Sat, 12 Aug 1995 06:40:43 -0700 Date: Sat, 12 Aug 1995 06:40:43 -0700 From: Andreas Schulz Message-Id: <199508121340.GAA25465@freefall.FreeBSD.org> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/i386/conf LINT Sender: cvs-sys-owner@freebsd.org Precedence: bulk ats 95/08/12 06:40:43 Modified: sys/i386/conf LINT Log: Correct a little typo in LINT. trouble is -> trouble if.