44277 Commits

Author SHA1 Message Date
silby
7ad1adfba6 Move the declarations for nsfbufs and friends over to sf_buf.h from
mbuf.h
2003-12-28 09:10:51 +00:00
silby
a7d8091ae5 Track three new sendfile-related statistics:
- The number of times sendfile had to do disk I/O
- The number of times sfbuf allocation failed
- The number of times sfbuf allocation had to wait
2003-12-28 08:57:09 +00:00
sam
3effae1c99 update radiotap support to reflect recent changes:
o move tx taps from ath_start to ath_tx_start so lots more
  state is available to tap
o add tx flags
o add tx rate
o add tx power (constant for the moment)
o add tx antenna state
2003-12-28 07:00:32 +00:00
sam
c93326599e update radiotap support to reflect recent changes:
o add xmit rate
o drop rx time
o add rx flags
2003-12-28 06:58:52 +00:00
sam
189a9001bd Sync with netbsd:
o #ifdef _KERNEL the fallback definition for DLT_IEEE802_11_RADIO
o fix many comments
o rename antenna stuff and fix units/reference signal
o change IEEE80211_RADIOTAP_DBM_TX_POWER from unsigned 16-bit value
  to a signed 8-bit value
o change IEEE80211_RADIOTAP_FLAGS from 16 bits to 8 bits to simplify
  padding requirements
o drop IEEE80211_RADIOTAP_TIME
o change IEEE80211_RADIOTAP_ANTENNA from 16 bits to 8 bits
o drop IEEE80211_RADIOTAP_PAD
o add channel flag definitions for outside the kernel so radiotap
  doesn't depend on stuff in ieee80211*.h

Obtained from:	NetBSD
2003-12-28 06:57:28 +00:00
alc
049708ae50 Don't bother clearing and setting PG_BUSY on page table directory pages. 2003-12-28 05:10:21 +00:00
bde
ca9bf1d586 Fixed some style bugs (mainly, try to always use explicit comparisons with
NULL when checking for null pointers).
2003-12-28 04:37:59 +00:00
bde
9ff26a0443 Fixed some disordering in revs.1.194 and 1,196. Moved the exceve() syscall
function back to near the beginning of the file.  Rev.1.194 moved it into
the middle of auxiliary functions following kern_execve().  Moved the
__mac_execve() syscall function up together with execve().  It was new in
rev1.1.196 and perfectly misplaced after execve().
2003-12-28 04:18:13 +00:00
sam
c165a87f8d o eliminate widespread on-stack mbuf use for bpf by introducing
a new bpf_mtap2 routine that does the right thing for an mbuf
  and a variable-length chunk of data that should be prepended.
o while we're sweeping the drivers, use u_int32_t uniformly when
  when prepending the address family (several places were assuming
  sizeof(int) was 4)
o return M_ASSERTVALID to BPF_MTAP* now that all stack-allocated
  mbufs have been eliminated; this may better be moved to the bpf
  routines

Reviewed by:	arch@ and several others
2003-12-28 03:56:00 +00:00
silby
a58bddbe36 Move the declaration of sfbufspeak and sfbufsused to mbuf.h,
and use imax instead of max, as sfbufspeak and sfbufsused
are signed.

Submitted by:   bde
2003-12-28 01:43:22 +00:00
silby
f71dce4e63 Fix the maxpipekva warning message so that it points to the correct
sysctl, and shorten the message.

Noticed by:	bde
2003-12-28 01:19:58 +00:00
alc
1ffde0dbd9 Remove GIANT_REQUIRED from kmem_suballoc(). 2003-12-28 00:10:48 +00:00
imp
506d536021 New sio module. A number of people have suggested this over the years
(most recently bde), so I'll commit the module I've had knocking
around in my tree for a while.  This may have some rough edges, so if
you are able to build it on non-i386 platform (including pc98) please
let me know you succeeded.  When I get enough reports, I'll connect it
to the build.  If there are problems, feel free to fix them.

Suggested by: bde
2003-12-27 19:50:37 +00:00
imp
7d044f3544 Add detach methods so we can unload the sio module. 2003-12-27 19:47:10 +00:00
alc
7f5f3bd3db Remove GIANT_REQUIRED from exec_unmap_first_page(). 2003-12-27 19:40:03 +00:00
imp
a6700da254 Fix slight disordering of supported cards. 2003-12-27 18:07:50 +00:00
maxim
33621bd9ec o Fix a comment: softticks lives in sys/kern/kern_timeout.c.
PR:		kern/60613
Submitted by:	Gleb Smirnoff
MFC after:	3 days
2003-12-27 14:08:53 +00:00
bde
e46d022148 Fixed style bugs in rev.1.12 (unsorting of prototypes by adding new ones
at the end).

Fixed some older style bugs (missing parameter names in all the kernel
prototypes except the ones added in rev.1.12).
2003-12-27 10:30:43 +00:00
silby
5c5418dd6e Track current and peak sfbuf usage, export the values via sysctl. 2003-12-27 07:52:47 +00:00
alc
5eb32a5d39 - Reduce Giant's scope in vm_fault().
- Use vm_object_reference_locked() instead of vm_object_reference()
   in vm_fault().
2003-12-26 23:33:37 +00:00
alc
2ce64279e5 Minor correction to revision 1.258: Use the proc pointer that is passed to
vm_map_growstack() in the RLIMIT_VMEM check rather than curthread.
2003-12-26 21:54:45 +00:00
green
0c878eef02 Don't truncate the interface name in ifunit(). It's now possible to query
"very long interface names", e.g.:
ndis_atheros0: flags=8847<UP,BROADCAST,DEBUG,RUNNING,SIMPLEX,MULTICAST> mtu 1500
2003-12-26 18:09:35 +00:00
trhodes
7dde93f1df Make msdosfs support the dirty flag in FAT16 and FAT32.
Enable lockf support.

PR:		55861
Submitted by:	Jun Su <junsu@m-net.arbornet.org> (original version)
Reviewed by:	make universe
2003-12-26 17:19:19 +00:00
jhb
17274fb2ed Create a separate kthread that executes sched_cpu() once a second. Because
sched_cpu() locks an sx lock (allproc_lock) which can sleep if it fails to
acquire the lock, it is not safe to execute this in a callout handler from
softclock().
2003-12-26 17:07:29 +00:00
jhb
773d055af0 Fix acpi_MatchHid() to check the compatibility ID's if the hardware ID
doesn't match.

Submitted by:	marcel
2003-12-26 15:42:13 +00:00
obrien
d637ba10d1 Don't confuse NULL with 0. 2003-12-26 14:30:19 +00:00
obrien
7bddd007c2 Don't confuse NULL with 0. 2003-12-26 14:22:26 +00:00
obrien
0d534ae12d Don't confuse NULL with 0. 2003-12-26 14:04:19 +00:00
wpaul
57cde0f9a7 Attempt to handle the status field in the ndis_packet oob area correctly.
For received packets, an status of NDIS_STATUS_RESOURCES means we need
to copy the packet data and return the ndis_packet to the driver immediatel.
NDIS_STATUS_SUCCESS means we get to hold onto the packet, but we have
to set the status to NDIS_STATUS_PENDING so the driver knows we're
going to hang onto it for a while.

For transmit packets, NDIS_STATUS_PENDING means the driver will
asynchronously return the packet to us via the ndis_txeof() routine,
and NDIS_STATUS_SUCCESS means the driver sent the frame, and NDIS
(i.e. the OS) retains ownership of the packet and can free it
right away.
2003-12-26 07:01:05 +00:00
obrien
ebda8238cd GC the AMD64 special handling. 2003-12-26 06:11:43 +00:00
alfred
dd339336ac regen (__restrict) 2003-12-26 05:58:32 +00:00
alfred
984d4cf4c5 Put restrict back in, the compilation failure was my fault when I
did a bad merge from the PR.

Thanks to Bruce Evans for explaining.
2003-12-26 05:58:16 +00:00
alfred
278c6c3367 Add __restrict qualifiers to copyinfrom, copyinstrfrom, copystr, copyinstr,
copyin and copyout.
2003-12-26 05:54:35 +00:00
obrien
1a7807be15 Properly initialize all members of the sentinel entry. 2003-12-26 05:36:08 +00:00
imp
0039959875 The record's stuck. The record's stuck. The record's stuck.
Remove a rendundant $FreeBSD$
2003-12-26 04:30:01 +00:00
wpaul
1bdb22f3a1 Back out the last batch of changes until I have a chance to properly
evaluate them. Whatever they're meant to do, they're doing it wrong.

Also:

- Clean up last bits of NULL fallout in subr_pe
- Don't let ndis_ifmedia_sts() do anything if the IFF_UP flag isn't set
- Implement NdisSystemProcessorCount() and NdisQueryMapRegisterCount().
2003-12-26 03:31:34 +00:00
bde
eb31f8e4f7 Merged from sys/dev/sio/sio.c revision 1.417. 2003-12-26 03:06:11 +00:00
green
b301326ce2 Don't call the miniport driver's releasepacket function unless the
packet being freed has NDIS_STATUS_PENDING in the status field of
the OOB data.  Finish implementing the "alternative" packet-releasing
function so it doesn't crash.

For those that are curious about ndis0: <ORiNOCO 802.11abg ComboCard Gold>:
1123 packets transmitted, 1120 packets received, 0% packet loss
round-trip min/avg/max/stddev = 3.837/6.146/13.919/1.925 ms

Not bad!
2003-12-26 02:20:54 +00:00
dwmalone
92fec55360 In socket(2) we only need Giant around the call to socreate, so just
grab it there.
2003-12-25 23:44:38 +00:00
dwmalone
ebdd5b9754 Don't TAILQ_INIT kq_head twice, once is enough. 2003-12-25 23:42:36 +00:00
dwmalone
836a4cbcdf When calculating the sequence number to use in an ip6fw reset, remember to
add one if the SYN flag was set in the original packet. This seems to make
ip6fw reset work correctly for new and in-progress connections. Update
the man page to reflect the fact it now seems to work.

Glanced at by:	ume
MFC after:	2 weeks
2003-12-25 23:39:44 +00:00
phk
373c3cc267 Vastly improve performance of IRQ handling on stopped interfaces with
this driver by introducing a flag saying we already stopped the device.

On my Soekris net4801, this took a ping -i 0.001 from spending 80% of
time in interrupt handling to 10% (approx numbers).

This was a particular problem for the net4801 because the tree
interfaces share the same interrupt, but it would be a problem for
any configuration where an unused if_sis interface shares an interrupt
with a busy device.

Other drivers may have similar problems.

Thanks to:	Luigi
2003-12-25 22:14:25 +00:00
wpaul
0c849a91f9 Give the timer API one last overhaul: this time, use the new callout
API instead of the old timeout/untimeout mechanism.
2003-12-25 21:34:16 +00:00
sos
cb427b7fa2 Try to simplify the SiS probe. If SiS stays with the current schema for
new nothbridges we should even find the southbridge and be able to
use it (if its one we know that is).
2003-12-25 19:37:11 +00:00
ru
fc532b5623 Don't add CWARNFLAGS to CFLAGS here, they were already added by bsd.sys.mk. 2003-12-25 14:07:52 +00:00
bde
6615c62ef6 Fixed another 0 (actually '\0') vs / NULL mixup. This completes
unbreaking LINT on i386's.
2003-12-25 11:17:01 +00:00
bde
8ce2b349ef Quick fix for LINT breakage caused by interface changes in accept(2), etc.
The log message for rev.1.160 of kern/uipc_syscalls.c and associated
changes only claimed to add restrict qualifiers (which have no effect in
the kernel so they probably shouldn't be added), but the following
interface changes were also made:
- caddr_t to `void *' and `struct sockaddr_t *'
- `int *' to `socklen_t *'.
These interface changes are not quite null, and this fix is quick (like
the changes in uipc_syscalls 1.160) because it uses bogus casts instead
of complete bounds-checked conversions.

Things should be fixed better when the conversions can be done without
using the stack gap.  linux_check_hdrincl() already uses the stack gap
and is fixed completely though the type mismatches in it were not fatal
(there were only fatal type mismatches from unopaquing pointers to
[o]sockaddr't's -- the difference between accept()'s args and oaccept()'s
args is now non-opaque, but this is not reflected in their args structs).
2003-12-25 09:59:02 +00:00
wpaul
757e456f28 - In ndis_intr(), don't do any interrupt processing if the IFF_UP
flag isn't set.
- In ndis_attach(), halt the NIC before exiting the routine. Calling
  ndis_init() will bring it up again, and we don't want it running
  (and potentially generating interrupts) until we're ready to deal
  with it.
2003-12-25 09:44:49 +00:00
wpaul
41facc2cd6 Avoid using any of the ndis_packet/ndis_packet_private fields for
mbuf<->packet housekeeping. Instead, add a couple of extra fields
to the end of ndis_packet. These should be invisible to the Windows
driver module.

This also lets me get rid of a little bit of evil from ndis_ptom()
(frobbing of the ext_buf field instead of relying on the MEXTADD()
macro).
2003-12-25 06:04:40 +00:00
sam
fb4df6a4de NULL fallout 2003-12-25 01:23:38 +00:00