Commit graph

40937 commits

Author SHA1 Message Date
Matthew Dillon bb01f28e97 Add vfs.enable_userblk_io sysctl to control whether user reads and writes
to buffered block devices are allowed.  The default is to be backwards
    compatible, i.e. reads and writes are allowed.

    The idea is for a larger crowd to start running with this disabled and
    see what problems, if any, crop up, and then to change the default to
    off and see if any problems crop up in the next 6 months prior to
    potentially removing support entirely.  There are still a few people,
    Julian and myself included, who believe the buffered block device
    access from usermode to be useful.

    Remove use of vnode->v_lastr from buffered block device I/O in
    preparation for removal of vnode->v_lastr field, replacing it with
    the already existing seqcount metric to detect sequential operation.

Reviewed by:	Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
1999-09-17 06:10:27 +00:00
Matthew Dillon b5acbc8b9c Asynchronized client-side nfs_commit. NFS commit operations were
previously issued synchronously even if async daemons (nfsiod's) were
    available.  The commit has been moved from the strategy code to the doio
    code in order to asynchronize it.

    Removed use of lastr in preparation for removal of vnode->v_lastr.  It
    has been replaced with seqcount, which is already supported by the system
    and, in fact, gives us a better heuristic for sequential detection then
    lastr ever did.

    Made major performance improvements to the server side commit.  The
    server previously fsync'd the entire file for each commit rpc.  The
    server now bawrite()s only those buffers related to the offset/size
    specified in the commit rpc.

    Note that we do not commit the meta-data yet.  This works still needs
    to be done.

    Note that a further optimization can be done (and has not yet been done)
    on the client: we can merge multiple potential commit rpc's into a
    single rpc with a greater file offset/size range and greatly reduce
    rpc traffic.

Reviewed by:	Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
1999-09-17 05:57:57 +00:00
Matthew Dillon 479112dfd9 Remove inappropriate VOP_FSYNC from vm_object_page_clean(). The fsync
syncs the entire underlying file rather then just the requested range,
    resulting in huge inefficiencies when the VM system is articulated in
    a certain way.  The VOP_FSYNC was also found to massively reduce NFS
    performance in certain cases.

    Change MADV_DONTNEED and MADV_FREE to call vm_page_dontneed() instead
    of vm_page_deactivate().  Using vm_page_deactivate() causes all
    inactive and cache pages to be recycled before the dontneed/free page
    is recycled, effectively flushing our entire VM inactive & cache
    queues continuously even if only a few pages are being actively MADV
    free'd and reused (such as occurs with a sequential scan of a
    memory-mapped file).

Reviewed by:	Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
1999-09-17 05:48:36 +00:00
Matthew Dillon 3f873b513b Add 'lastr' field to vm_map_entry in preparation for its removal
from the vnode.  (The changeover is undergoing final testing and
    will be committed soon).

Reviewed by:	Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
1999-09-17 05:40:17 +00:00
Matthew Dillon 447deba3da Fix a bug in the block number calculation for VN disks with a sector
size != 512 that are configured without a label.  The bug should only
    have effected swap-backed VN mounts without a label.

    Add several major features to VN.  In the kernel we add a swap
    pre-reservation capability, which can be used to guarentee seek
    consistency for swap-backed VN nodes.  This also incidently allows
    a swap-backed VN filesystem to be recovered after a crash in some
    cases (if the same swap blocks happen to be reserved).

    We also add a number of new options to vnconfig which do the work
    of pre-zeroing or creating/truncating/extending a file which greatly
    simplifies using VN in a file-backed configuration.

    Add FreeBSD CVS label to sys/sys/vnioctl.h, as well as a new ioctl
    flag for the swap pre-reservation feature.

Reviewed by:	Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
1999-09-17 05:34:00 +00:00
Matthew Dillon 24579ca1d7 The vnode pager (used when you do file-backed mmaps) must use the
underlying physical sector size when aligning I/O transfer sizes.
    It cannot assume 512 bytes.

    We assume the underlying sector size is a power of 2.  If it isn't,
    mmap() will break badly anyway (in the same way mmap broke with NFS
    when NFS tried to cache piecemeal write ranges in buffers, before
    we enforced read-buffer-before-write-piecemeal for NFS).

Reviewed by:	Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
1999-09-17 05:17:59 +00:00
Matthew Dillon 4dcc5c2d1d Fix a number of spl bugs related to reserving and freeing swap space.
Swap space can be freed from an interrupt and so swap reservation and
    freeing must occur at splvm.

    Add swap_pager_reserve() code to support a new swap pre-reservation
    capability for the VN device.

    Generally cleanup the swap code by simplifying the swp_pager_meta_build()
    static function and consolidating the SWAPBLK_NONE test from a bit test
    to an absolute compare.  The bit test was left over from a rejected
    swap allocation scheme that was not ultimately committed.  A few other
    minor cleanups were also made.

    Reorganize the swap strategy code, again for VN support, to not
    reallocate swap when writing as this messes up pre-reservation and
    can fragment I/O unnecessarily as VN-baesd disk is messed around with.

Reviewed by:	Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
1999-09-17 05:09:24 +00:00
Matthew Dillon 2eab8b3609 Add required BUF_KERNPROC to flushchainbuf() to disassociate the
current process from the exclusive lock prior to initiating I/O.

    This fixes a panic related to swap-backed VN disks

Reviewed by:	Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
1999-09-17 05:03:27 +00:00
Matthew Dillon 90ecac61c0 Reviewed by: Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
Replace various VM related page count calculations strewn over the
    VM code with inlines to aid in readability and to reduce fragility
    in the code where modules depend on the same test being performed
    to properly sleep and wakeup.

    Split out a portion of the page deactivation code into an inline
    in vm_page.c to support vm_page_dontneed().

    add vm_page_dontneed(), which handles the madvise MADV_DONTNEED
    feature in a related commit coming up for vm_map.c/vm_object.c.  This
    code prevents degenerate cases where an essentially active page may
    be rotated through a subset of the paging lists, resulting in premature
    disposal.
1999-09-17 04:56:40 +00:00
Bill Paul 1ed9e51a4d Fix sf_probe() to detect the card type properly. I botched the reading
of the subsystem ID when I converted to newbus. The driver still detects
the chipset and still works but fails to identify the exact card.
1999-09-17 00:47:41 +00:00
Brian Feldman 5ff6541e7a Make count=0 set cpy_cnt to -1, which is slight overloading, but makes
what I was trying to do work much better (ie at all.  I could have sworn
it was working...) Fix a SEEK_SET to be SEEK_CUR, and make Bruce's
lseek() test work correctly.
1999-09-16 19:50:59 +00:00
Brian Somers 848f4ae4fb Suggest using just finrst in the dial filter, and not syn.
Submitted by:	Ruslan Ermilov <ru@FreeBSD.org>
1999-09-16 18:52:46 +00:00
Brian Somers 4d9d17fe7d Correct the return from FilterCheck for fragments
PR:		13771
Submitted by:	Dean M. Phillips <dphill@inav.net>
1999-09-16 18:47:59 +00:00
Jose M. Alcaide 52a57daa0d Add spanish support, fixing my own PR.
PR:		i386/10595
Submitted by:	Jose M. Alcaide (jose@we.lc.ehu.es)
1999-09-16 10:46:32 +00:00
Jordan K. Hubbard 335d64e6d3 Some minor cosmetics: make mkdir less chatty in the output and stop making /R
magic.
1999-09-16 08:44:22 +00:00
Brian Feldman 1838cf5671 Let count=-something fail, while count=0 may succeed, thus making dd(1)
useful as a seeking-tool as well as its many other uses.  Previously,
dd(1) would succeed with count=0, but wouldn't get to the point that
blocks were to be read/written. This is a more useful behavior, and
this specific case doesn't seem to be handled by POSIX.
1999-09-16 05:12:59 +00:00
Larry Lile f9083fdb2a Re-arrange the arp code so that fddi arps work properly. 1999-09-16 00:35:39 +00:00
Andrey A. Chernov 22ec1a0d38 Oops, patch applied to wrong place. 1999-09-15 18:58:33 +00:00
Andrey A. Chernov 1b45e33270 fix LOCALEDIR 1999-09-15 18:55:17 +00:00
Andrey A. Chernov 0dd0f9be49 add mdoc/locale 1999-09-15 18:52:44 +00:00
Alexey Zelkin 9c800c95af mdoc(7)'fy.
Pointed out by: ru
1999-09-15 18:50:39 +00:00
Ollivier Robert 76b7b29ed0 wlinit() must be called to recalculate the multicast filter.
Submitted by:	Francis Dupont <Francis.Dupont@inria.fr>
1999-09-15 12:49:03 +00:00
David E. O'Brien e5ee615637 Be slightly less verbose. 1999-09-15 11:17:59 +00:00
David E. O'Brien 320f7c1ed3 Sync with am-utils-6.0 => am-utils-6.0.1 changes. 1999-09-15 09:00:54 +00:00
Bill Paul 58454ee28c Dangit: mispelled TORNADO in one place. 1999-09-15 07:20:59 +00:00
Bill Paul 81569a614d 3Com has produced their own Linux driver for the 3c90x/3c90xB series cards.
It's GPL'ed of course, but looking over it tonight I learned of Yet Another
Fast EtherLink XL Adapter: the 3c980C server adapter. This is basically
an updated version of the 3c980 that uses the Tornado ASIC instead of the
earlier Hurricane ASIC. The only change here is to add the new PCI device
ID (0x9805) and corresponding table entries.
1999-09-15 07:19:34 +00:00
David E. O'Brien ce802deb8d Fix conflicts. 1999-09-15 05:45:17 +00:00
Peter Wemm 77dec3a0c7 Add a hook for disabling cvs and collect a few similar options together.
(We do this on freefall as we use a tweaked /usr/bin/cvs wrapper)
1999-09-15 03:52:17 +00:00
Jordan K. Hubbard b1da34ca31 If enlightenment is present, gnome-session starts it automagically. 1999-09-15 02:52:56 +00:00
David E. O'Brien 2e09733a0e This commit was generated by cvs2svn to compensate for changes in r51292,
which included commits to RCS files with non-trunk default branches.
1999-09-15 02:50:52 +00:00
David E. O'Brien 179d036e25 Virgin import of AMD (am-utils) v6.0.1 1999-09-15 02:50:52 +00:00
David E. O'Brien 24002cc8bc /emulation/binary compatibility/ 1999-09-15 02:25:13 +00:00
David E. O'Brien 1ac46012af /Linux emulation/Linux mode binary compatibility/ 1999-09-15 02:08:45 +00:00
Peter Wemm e46b89dc93 Fix warning: return type of main' is not int' 1999-09-15 01:58:44 +00:00
Tim Vanderhoek 62998af2a6 Don't disallow null search patterns --- they are interpreted as being
identical to the previous pattern.

Noticed-by:	Jeroen Ruigrok/Asmodai
1999-09-14 21:20:58 +00:00
Jordan K. Hubbard 3acffb677b Don't need to add bpf anymore. 1999-09-14 18:43:35 +00:00
Dag-Erling Smørgrav 6c3b5f69ba Reorder. 1999-09-14 16:40:28 +00:00
Dag-Erling Smørgrav f861330504 Fix some more disordering, as well as the description string for the
net.inet.tcp.drop_synfin sysctl, which for some mysterious reason said
"Drop TCP packets with FIN+ACK set" (instead of "...with SYN+FIN set")
1999-09-14 16:14:05 +00:00
Alexey Zelkin 7dde7bbd34 rc.conf -> /etc/motd
PR:		docs/13748
1999-09-14 15:56:58 +00:00
Ruslan Ermilov 510108dbec Fix a coredump when commands in ~/.exrc prepended with addresses.
PR:		13000
1999-09-14 14:34:58 +00:00
Yoshihiro Takahashi 35762dce78 Gdc and pckbd driver don't support pnp mode. 1999-09-14 12:57:40 +00:00
Sheldon Hearn e6d3cf2648 Correct some hard sentence breaks. Only those surrounding the previous
commit and those which cause ugly nroff output have been fixed, since
the purpose of the style guideline which they contravene is to reduce
the sizes of deltas.

Reported by:	bde
1999-09-14 11:46:04 +00:00
David E. O'Brien 34dda9f49f Foo. Maybe I should get Peter to hook ispell up in commit_prep.pl. 1999-09-14 10:38:45 +00:00
David E. O'Brien 029cd954bb Add the NIS domain to the tweakable knobs. 1999-09-14 09:15:35 +00:00
David E. O'Brien f5a0413ae1 The existing libxpg4.so.2.0 didn't support zh_TW.Big5 locale.
PR:		13623
Submitted by:	jtjang@gcn.net.tw
1999-09-14 08:41:09 +00:00
Jordan K. Hubbard 0760b91de8 Brutally rip more stuff out of the fixit image so that we can start
build 4.0-stapshots again.  It's still overflowing. :(
1999-09-14 04:24:29 +00:00
Ruslan Ermilov 24e9bc7fca Don't call if_up() here, just set IFF_UP.
PR:		12251
Reviewed by:	wollman
1999-09-14 01:17:30 +00:00
Ruslan Ermilov c931dae17f Adjust descriptions for if_up() and if_down().
Reviewed by:	wollman
1999-09-14 01:05:40 +00:00
Ruslan Ermilov 97998e86db Add comments, fix typos.
Reviewed by:	wollman
1999-09-14 00:33:23 +00:00
Ruslan Ermilov 646bae6082 - Describe all available message headers.
- Sync structures/constants with sources.
- Fix multiple typos.

Reviewed by:	wollman
1999-09-14 00:26:11 +00:00