summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Make the process_exit eventhandler run without Giant. Add Giant hookspeter2004-03-146-6/+7
| | | | | | in the two consumers that need it.. processes using AIO and netncp. Update docs. Say that process_exec is called with Giant, but not to depend on it. All our consumers can handle it without Giant.
* Move the process_fork event out from under Giant. This one is easy,peter2004-03-142-2/+8
| | | | since there are no consumers in the tree. Document this.
* Compare spppq to NULL instead of using spppq as a boolean.rwatson2004-03-141-2/+2
|
* Fix some style bugs in previous commit.trhodes2004-03-142-7/+6
| | | | | | | | | Fix 'broken' ifdefs. icc does not support profiling yet so remove unfinished code which was supposed to help. Submitted by: netchild (original version) Reviewed by: ru
* Define AF_ARP/PF_ARP.mdodd2004-03-141-1/+3
|
* De-register.mdodd2004-03-141-22/+22
|
* Allow swap-backed devices to run without Giant.alc2004-03-141-3/+1
|
* Regen for mpsafe kse_create()peter2004-03-135-6/+6
|
* Push Giant down a little further:peter2004-03-137-29/+14
| | | | | | | | | | | | | | | - no longer serialize on Giant for thread_single*() and family in fork, exit and exec - thread_wait() is mpsafe, assert no Giant - reduce scope of Giant in exit to not cover thread_wait and just do vm_waitproc(). - assert that thread_single() family are not called with Giant - remove the DROP/PICKUP_GIANT macros from thread_single() family - assert that thread_suspend_check() s not called with Giant - remove manual drop_giant hack in thread_suspend_check since we know it isn't held. - remove the DROP/PICKUP_GIANT macros from thread_suspend_check() family - mark kse_create() mpsafe
* Re-kill ispcvt on amd64 - rc.d/syscons was fixed ages ago.peter2004-03-131-109/+0
|
* MFp4: comment out options that don't exist so that they cannot bepeter2004-03-132-9/+6
| | | | | accidently added to config files and be silently accepted. Comment out one bogo-option that crept into NOTES.
* Diff reduction with current. Correct comment about ed etc.peter2004-03-131-4/+4
|
* Move the non-MD machine/dvcfg.h and machine/physio_proc.h to a commonpeter2004-03-1316-266/+22
| | | | MI area before they proliferate more.
* Drastically clean up the legacy host-pci bridge table. We don't needpeter2004-03-131-208/+5
| | | | | | | all the ancient Intel/VIA/SIS/etc chipsets on amd64 systems. Even the newer intel stuff won't need this since we use acpi by default and we don't have all their magic programming information. Just use a generic "Host to PCI bridge" name if we ever hit this code.
* MFi386: nuke pci_cfgintrpeter2004-03-132-23/+1
|
* Reduce the scope of the Giant lock being held for non-mpsafe syscalls.peter2004-03-131-14/+6
| | | | There was way too much code being covered.
* Recognise the 82845G AGP bridge, and poke it appropriately atpeadar2004-03-132-0/+10
| | | | | | | | | | | | attach/detach time. Assigning the default behaviour to this particular device is incorrect, corrupting the video BIOS aperture, and breaking VESA support in the kernel and XFree86. Reviewed By: dfr MFC after: 1 week PR: kern/62906
* Now that contigfree() does not require Giant, don't grab it in busdma.scottl2004-03-136-12/+0
|
* Add support for the Epson Perfection 1670 scanner.tjr2004-03-131-0/+1
|
* Regentjr2004-03-132-2/+9
|
* Add EPSON Perfection 1670 scanner.tjr2004-03-131-0/+1
|
* Remove GIANT_REQUIRED from contigfree().alc2004-03-131-1/+1
|
* Constify interactive_ports, as its value is static, and therefore doesn'trwatson2004-03-131-1/+1
| | | | require synchronization.
* Add annotations to mtx_lock(&Giant) in kern_select() and poll() thatrwatson2004-03-131-0/+8
| | | | | | we always grab Giant, even if we're actually only polling objects that don't require giant. Once socket locking is merged, there will be strong motivation to fix this.
* Remove stale (unused) unit variables from if_tun and if_tap softc's.rwatson2004-03-132-3/+0
|
* Constify iso88025_broadcastaddr to make it clear no explicitrwatson2004-03-131-3/+3
| | | | synchronization is required.
* Const-poison atmulticastaddr, which should be read but not modified.rwatson2004-03-131-9/+9
| | | | | | While there, remove (caddr_t) casting of ethernet addresses, which among other things discards the qualifier. This makes it clear that atmulticastaddr does not require synchronization.
* Align the offset in vn_rdwr_inchunks() so that at most the first andbde2004-03-131-1/+11
| | | | | | | | | | | | | the last chunk are misaligned relative to a MAXBSIZE byte boundary. vn_rdwr_inchunks() is used mainly for elf core dumps, and elf sections are usually perfectly misaligned relative to MAXBSIZE, and chunking prevents the file system from doing much realigning. This gives a surprisingly large speedup for core dumps -- from 50 to 13 seconds for a 512MB core dump here. The pessimization was mostly from an interaction of the misalignment with IO_DIRECT. It increased the number of i/o's for each chunk by a factor of 5 (3 writes and 2 read-before-writes instead of 1 write).
* Don't allow interfaces to be renamed to the empty string.brooks2004-03-131-2/+4
| | | | | | While I'm here, errors aren't bools. Pointed out by: hmp
* Remove if_withname. It came in with the KAME import, but never gotbrooks2004-03-132-27/+0
| | | | | | | | used. Should someone need its functionality, it's a really expensive implementation of: ifnet_byindex(sdl->sdl_index) Reviewed by: bde, ume
* Fixed some English usage errors.bde2004-03-131-7/+7
|
* Fixed description of cx device. Use similar wording for ctau devicebde2004-03-131-4/+5
| | | | | | | (NETGRAPH_CRONYX toggles NETGRAPH support for both). Fixed formatting of description of cx device. Discussed with: rik
* These are changes to allow to use the Intel C/C++ compiler (lang/icc)trhodes2004-03-1242-144/+460
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to build the kernel. It doesn't affect the operation if gcc. Most of the changes are just adding __INTEL_COMPILER to #ifdef's, as icc v8 may define __GNUC__ some parts may look strange but are necessary. Additional changes: - in_cksum.[ch]: * use a generic C version instead of the assembly version in the !gcc case (ASM code breaks with the optimizations icc does) -> no bad checksums with an icc compiled kernel Help from: andre, grehan, das Stolen from: alpha version via ppc version The entire checksum code should IMHO be replaced with the DragonFly version (because it isn't guaranteed future revisions of gcc will include similar optimizations) as in: ---snip--- Revision Changes Path 1.12 +1 -0 src/sys/conf/files.i386 1.4 +142 -558 src/sys/i386/i386/in_cksum.c 1.5 +33 -69 src/sys/i386/include/in_cksum.h 1.5 +2 -0 src/sys/netinet/igmp.c 1.6 +0 -1 src/sys/netinet/in.h 1.6 +2 -0 src/sys/netinet/ip_icmp.c 1.4 +3 -4 src/contrib/ipfilter/ip_compat.h 1.3 +1 -2 src/sbin/natd/icmp.c 1.4 +0 -1 src/sbin/natd/natd.c 1.48 +1 -0 src/sys/conf/files 1.2 +0 -1 src/sys/conf/files.amd64 1.13 +0 -1 src/sys/conf/files.i386 1.5 +0 -1 src/sys/conf/files.pc98 1.7 +1 -1 src/sys/contrib/ipfilter/netinet/fil.c 1.10 +2 -3 src/sys/contrib/ipfilter/netinet/ip_compat.h 1.10 +1 -1 src/sys/contrib/ipfilter/netinet/ip_fil.c 1.7 +1 -1 src/sys/dev/netif/txp/if_txp.c 1.7 +1 -1 src/sys/net/ip_mroute/ip_mroute.c 1.7 +1 -2 src/sys/net/ipfw/ip_fw2.c 1.6 +1 -2 src/sys/netinet/igmp.c 1.4 +158 -116 src/sys/netinet/in_cksum.c 1.6 +1 -1 src/sys/netinet/ip_gre.c 1.7 +1 -2 src/sys/netinet/ip_icmp.c 1.10 +1 -1 src/sys/netinet/ip_input.c 1.10 +1 -2 src/sys/netinet/ip_output.c 1.13 +1 -2 src/sys/netinet/tcp_input.c 1.9 +1 -2 src/sys/netinet/tcp_output.c 1.10 +1 -1 src/sys/netinet/tcp_subr.c 1.10 +1 -1 src/sys/netinet/tcp_syncache.c 1.9 +1 -2 src/sys/netinet/udp_usrreq.c 1.5 +1 -2 src/sys/netinet6/ipsec.c 1.5 +1 -2 src/sys/netproto/ipsec/ipsec.c 1.5 +1 -1 src/sys/netproto/ipsec/ipsec_input.c 1.4 +1 -2 src/sys/netproto/ipsec/ipsec_output.c and finally remove sys/i386/i386 in_cksum.c sys/i386/include in_cksum.h ---snip--- - endian.h: * DTRT in C++ mode - quad.h: * we don't use gcc v1 anymore, remove support for it Suggested by: bde (long ago) - assym.h: * avoid zero-length arrays (remove dependency on a gcc specific feature) This change changes the contents of the object file, but as it's only used to generate some values for a header, and the generator knows how to handle this, there's no impact in the gcc case. Explained by: bde Submitted by: Marius Strobl <marius@alchemy.franken.de> - aicasm.c: * minor change to teach it about the way icc spells "-nostdinc" Not approved by: gibbs (no reply to my mail) - bump __FreeBSD_version (lang/icc needs to know about the changes) Incarnations of this patch survive gcc compiles since a loooong time, I use it on my desktop. An icc compiled kernel works since Nov. 2003 (exceptions: snd_* if used as modules), it survives a build of the entire ports collection with icc. Parts of this commit contains suggestions or submissions from Marius Strobl <marius@alchemy.franken.de>. Reviewed by: -arch Submitted by: netchild
* This are the build infrastructure changes to allow to use thetrhodes2004-03-125-7/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Intel C/C++ compiler (lang/icc) to build the kernel. The icc CPUTYPE CFLAGS use icc v7 syntax, icc v8 moans about them, but doesn't abort. They also produce CPU specific code (new instructions of the CPU, not only CPU specific scheduling), so if you get coredumps with signal 4 (SIGILL, illegal instruction) you've used the wrong CPUTYPE. Incarnations of this patch survive gcc compiles and my make universe. I use it on my desktop. To use it update share/mk, add /usr/local/intel/compiler70/ia32/bin (icc v7, works) or /usr/local/intel_cc_80/bin (icc v8, doesn't work) to your PATH, make sure you have a new kernel compile directory (e.g. MYKERNEL_icc) and run CFLAGS="-O2 -ip" CC=icc make depend CFLAGS="-O2 -ip" CC=icc make in it. Don't compile with -ipo, the build infrastructure uses ld directly to link the kernel and the modules, but -ipo needs the link step to be performed with Intel's linker. Problems with icc v8: - panic: npx0 cannot be emulated on an SMP system - UP: first start of /bin/sh results in a FP exception Parts of this commit contains suggestions or submissions from Marius Strobl <marius@alchemy.franken.de>. Reviewed by: silence on -arch Submitted by: netchild
* Do what the execve(2) manpage says and enforce what a Strictlyru2004-03-121-1/+2
| | | | | | | | | Conforming POSIX application should do by disallowing the argv argument to be NULL. PR: kern/33738 Submitted by: Marc Olzheim, Serge van den Boom OK'ed by: nectar
* Allow kernel with the BOOTP option to boot when DHCP/BOOTP sets the rootbrooks2004-03-121-11/+37
| | | | | | | | | | path to an absolute path without a host name. Previously, there was a nasty POLA violation where a system would PXE boot until you added the BOOTP option and then it would panic instead. Reviewed by: tegge, Dirk-Willem van Gulik <dirkx at webweaving.org> (a previous version) Submitted by: tegge (getip function)
* This is a temporary fix to solve a regression issue on sparc64 thatkensmith2004-03-121-0/+4
| | | | | | | is caused by the way sparc64 registers its CPUs. Nate will work on a real fix shortly. Approved by: njl
* - Remove old sleep queues.jhb2004-03-124-17/+5
| | | | | - Remove sleepqueue argument from sleepq_set_timeout() since it is not used.
* Fixup a comment.jhb2004-03-121-1/+1
|
* Add if_ndis_pci.c and if_ndis_pccard.c so that building the NDISulatorwpaul2004-03-121-5/+8
| | | | | | | | directly into the kernel works again. Also make the 'ndisapi' entries not depend on pccard anymore. Forgotten by: me Noticed by: sos
* Don't set ifp->if_output to ether_output(), since ether_ifattach()mux2004-03-121-1/+0
| | | | | | | will do it for us (we either call ether_ifattach() directly, or it gets called within ieee80211_ifattach()). Approved by: wpaul
* Replace a manual check of a VMIO candidate with vn_canvmio(). Thisdes2004-03-121-2/+3
| | | | | | | | | silences an annoying warning in getblk() when VMIO'ing on a directory vnode, which can happen when vfs.vmiodirenable is 1. Bring the warning message in line with reality at the same time. Submitted by: hmp
* Fix copy&paste-o.phk2004-03-121-1/+1
| | | | Spotted by: iedowse
* Part 2 of rev 1.68. Update comment to match reality now that vm_endcopypeter2004-03-121-1/+1
| | | | | | exists and we no longer copy to the end of the struct. Forgotten by: alfred and green
* When I was a kid my work table was one cluttered mess an cleaning it upphk2004-03-115-24/+47
| | | | | | | | | | | | | were a rather overwhelming task. I soon learned that if you don't know where you're going to store something, at least try to pile it next to something slightly related in the hope that a pattern emerges. Apply the same principle to the ffs/snapshot/softupdates code which have leaked into specfs: Add yet a buf-quasi-method and call it from the only two places I can see it can make a difference and implement the magic in ffs_softdep.c where it belongs. It's not pretty, but at least it's one less layer violated.
* Properly vector all bwrite() and BUF_WRITE() calls through the same pathphk2004-03-1112-48/+56
| | | | and s/BUF_WRITE()/bwrite()/ since it now does the same as bwrite().
* Remove unused mnt_reservedvnlist field.phk2004-03-114-10/+0
|
* Remove unused second arg to vfinddev().phk2004-03-118-18/+25
| | | | Don't call addaliasu() on VBLK nodes.
* Properly count references of our dev_t to avoid triggering a KASSERT inle2004-03-112-0/+4
| | | | | | | dev_strategy(). Submitted by: dwmalone Approved by: grog (mentor)
* Correctly account for extra bits in unit numbers when looking forphk2004-03-111-3/+3
| | | | next free unit.
OpenPOWER on IntegriCloud