summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Dont sleep with lock held.sos2004-10-101-1/+1
|
* Revert last commit since it breaks API.glebius2004-10-102-11/+14
| | | | Requested by: sam
* Don't release the slot twice.. sched_rem() has already done it.julian2004-10-101-1/+0
| | | | | Submitted by: stephan uphoff (ups at tree dot com) MFC after: 3 days
* Remove duplicate line.julian2004-10-101-1/+0
|
* Convert to newbus. (chances are we could now move this to dev/pbioimp2004-10-102-92/+122
| | | | | | since I believe it is now MI, but that hasn't been done yet). Reviewed by: dds
* Modify entropy harvesting locking strategy:rwatson2004-10-091-50/+41
| | | | | | | | | | | | | | | | | | | | | | | | | - Trade off granularity to reduce overhead, since the current model doesn't appear to reduce contention substantially: move to a single harvest mutex protecting harvesting queues, rather than one mutex per source plus a mutex for the free list. - Reduce mutex operations in a harvesting event to 2 from 4, and maintain lockless read to avoid mutex operations if the queue is full. - When reaping harvested entries from the queue, move all entries from the queue at once, and when done with them, insert them all into a thread-local queue for processing; then insert them all into the empty fifo at once. This reduces O(4n) mutex operations to O(2) mutex operations per wakeup. In the future, we may want to look at re-introducing granularity, although perhaps at the granularity of the source rather than the source class; both the new and old strategies would cause contention between different instances of the same source (i.e., multiple network interfaces). Reviewed by: markm
* Fix fsbtodb() for UFS1. This fixes an overflow for file sizes >1 TB,njl2004-10-091-1/+1
| | | | | | | allowing for sizes up to 4 TB. This doesn't affect UFS2 since b is already a 64 bit type, coincidental with daddr_t. Submitted by: bde
* In the previous revision, I did not intend to change the default valuegreen2004-10-091-1/+1
| | | | | | of "nosleepwithlocks." Submitted by: ru
* Acquire the send socket buffer lock around tcp_output() activitiesrwatson2004-10-091-2/+14
| | | | | | | | | | reaching into the socket buffer. This prevents a number of potential races, including dereferencing of sb_mb while unlocked leading to a NULL pointer deref (how I found it). Potentially this might also explain other "odd" TCP behavior on SMP boxes (although haven't seen it reported). RELENG_5 candidate.
* Add SOCKBUF_UNLOCK_ASSERT(), which asserts that the current thread doesrwatson2004-10-091-0/+1
| | | | not hold the mutex for a socket buffer.
* Flush the register windows before we start changing the context.kensmith2004-10-091-0/+2
| | | | | Submitted by: Andrew Belashov <bel (at) orel.ru> (slightly modified) Reviewed by: jake
* Add support for the ICH6 in legacy mode.sos2004-10-092-0/+6
| | | | | | The AHCI part is not supported yet, but is in the works. 5.3 RC1 candidate
* Return 0, not NULL, from a function declared as returning int.des2004-10-091-1/+1
|
* Forcibly create symlinked headers, otherwise the build process may failjoerg2004-10-091-1/+1
| | | | if the target link already existed (e. g. -DNO_KERNELCLEAN).
* Remove inlined m_tag_free(). Rename _m_tag_free() to m_tag_free()glebius2004-10-092-15/+12
| | | | | | | | | | | | and make it visible (same way as in OpenBSD). Describe usage in manpage. This change is useful for creating custom free methods, which call default free method at their end. While here, make malloc declaration for mbuf tags more informative. Approved by: julian (mentor), sam MFC after: 1 month
* style(9)obrien2004-10-092-114/+102
|
* Don't "implicitly order all sleep locks before spin locks" in witnessgreen2004-10-091-1/+1
| | | | | | when the spin lock in question isn't -- it's the critical_enter() that KDB set. No more panic in DDB for console -> syscons -> tty -> knote operations.
* Don't use matchlvl attach arg. It seems to be not initializedtakawata2004-10-091-0/+3
| | | | in FreeBSD probe mechanism.
* Port NetBSD auxio driver. The driver was modified to use led(4) and canyongari2004-10-097-0/+424
| | | | | | | | | | | be used to announce various system activity. The auxio device provides auxiliary I/O functions and is found on various SBus/EBus UltraSPARC models. At present, only front panel LED is controlled by this driver. Approved by: jake (mentor) Reviewed by: joerg Tested by: joerg
* Don't count RNBC (internal buffer full) towards the RX error count since it'sscottl2004-10-091-1/+1
| | | | | | not really an error. Submitted by: Gerrit Nagelhout
* Only do the geometry translations on ad* devices, other devices seems tosos2004-10-081-18/+22
| | | | | have their own way of life. Those other devices translations should be moved here as well.
* Fix critical stability problems that can cause UMA mbuf clustergreen2004-10-082-24/+64
| | | | | | | | | | | | | | | | | | | | | | | | state management corruption, mbuf leaks, general mbuf corruption, and at least on i386 a first level splash damage radius that encompasses up to about half a megabyte of the memory after an mbuf cluster's allocation slab. In short, this has caused instability nightmares anywhere the right kind of network traffic is present. When the polymorphic refcount slabs were added to UMA, the new types were not used pervasively. In particular, the slab management structure was turned into one for refcounts, and one for non-refcounts (supposed to be mostly like the old slab management structure), but the latter was almost always used through out. In general, every access to zones with UMA_ZONE_REFCNT turned on corrupted the "next free" slab offset offset and the refcount with each other and with other allocations (on i386, 2 mbuf clusters per 4096 byte slab). Fix things so that the right type is used to access refcounted zones where it was not before. There are additional errors in gross overestimation of padding, it seems, that would cause a large kegs (nee zones) to be allocated when small ones would do. Unless I have analyzed this incorrectly, it is not directly harmful.
* Update a quirk for the ASUS P5A to disable the timer. It appears to work finenjl2004-10-083-9/+9
| | | | | | | | | | | | | | with acpi but the timer runs twice as fast. Note that the main problem (system doesn't work properly with acpi disabled) should be fixed separately. Changes: * Add a quirk to disable the timer * Merge the P5A and P5A-B quirks since they appear to be based on the same ASL. PR: i386/72450 Tested by: Kevin Oberman <oberman es.net> MFC after: 3 days
* Fix sis, bfe and ndis in the same way dc was fixed:mlaier2004-10-083-17/+29
| | | | | | | Do not tell the hardware to send when there were no packets enqueued. Found and reviewed by: green MFC after: 1 days
* Change pfil starvation prevention from fail-open to fail-close.mlaier2004-10-081-2/+10
| | | | | | | | | We return ENOBUF to indicate the problem, which is an errno that should be handled well everywhere. Requested & Submitted by: green Silently okay'ed by: The rest of the firewall gang MFC after: 3 days
* Make pte_load_store() an atomic operation in all cases, not just i386 PAE.alc2004-10-084-22/+70
| | | | | | | | | Restructure pmap_enter() to prevent the loss of a page modified (PG_M) bit in a race between processors. (This restructuring assumes the newly atomic pte_load_store() for correct operation.) Reviewed by: tegge@ PR: i386/61852
* Use generic tty processing code instead of local copy.phk2004-10-082-757/+102
| | | | New device names are {tty,cua}G$(adapter)$(port)[.lock,.init]
* Since net/net_osdep.c contained only one function that could bebrooks2004-10-083-60/+1
| | | | | trivially implemented as a macro, do that and remove it. NetBSD did this quite a while ago.
* Style. Use ETHER_IS_MULTICAST() appropriately instead of masking off the bit.bms2004-10-071-1/+1
| | | | Reviewed by: jmallett
* Back out v1.58... We still don't know what is causing the specifickensmith2004-10-071-1/+1
| | | | | | | | | | problem I had but it's happening in code that is messing around with register windows - I'm willing to live with that piece being sensitive to this and it looks like the other problems we had reported lately are not fixed by using -O instead of -O2. Sorry for the churn. Looks like I need a second pointy hat. Someone tells me they stack well. :-))))
* Be sure to always return 0 for negative access requests.pjd2004-10-071-0/+8
| | | | Reported by: Maciej Kucharz <qk@comp.waw.pl>
* Move the PC98 specific geometry "gunk" to geom_pc98.c where it belongs.sos2004-10-074-8/+22
| | | | | | | | This also adds support for bigger disks on the controller I have access to, and maybe others if I understood the adhoc methods used on those. Those with more PC98 bigdrive controllers it is hereby invited to add/fix support for those in geom_pc98.c and not using #ifdef PC98 all over the place.
* Port pbio to HEAD.imp2004-10-076-0/+1023
| | | | OK'd by: dds
* When running with debug.mpsafenet=0, initialize IP multicast routingrwatson2004-10-071-4/+7
| | | | | | | | | callouts as non-CALLOUT_MPSAFE. Otherwise, they may trigger an assertion regarding Giant if they enter other parts of the stack from the callout. MFC after: 3 days Reported by: Dikshie < dikshie at ppk dot itb dot ac dot id >
* Add an execve command for kse_thr_interrupt to allow libpthread todavidxu2004-10-074-3/+32
| | | | | | restore signal mask correctly, this is required by POSIX. Reviewed by: deischen
* Add SHARP to the pool of drives that doesn not need byteswapping ofsos2004-10-071-5/+7
| | | | the model etc fields from identify.
* Use generic ttycode instead of local copy.phk2004-10-071-183/+32
|
* Regen to unbreak world.davidxu2004-10-073-3/+3
| | | | Pointy hat to: mtm
* Back out rev 1.240; it is unnecessary. In particular,das2004-10-061-8/+3
| | | | | | | p1 == curthread, so _PHOLD(p1) will not have to block to swap in p1. Noticed by: jhb
* Don't set the BIO_ONQUEUE debugging flag until we actually put the biophk2004-10-061-1/+1
| | | | onto a queue. This made the ENOMEM handling an instant panic.
* Use generic tty code instead of local copies.phk2004-10-062-571/+199
|
* Back out v1.49. Recent findings suggest sparc64 may not be ready forkensmith2004-10-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | -O2 on kernel compiles after all. While working on adding a KASSERT to sparc64/sparc64/rwindow.c I found that it was "position sensitive", putting it above a call to flushw() instead of below caused corruption of processes on the system. jake and jhb have both confirmed there is no obvious explanation for that. The exact same kernel code does not have the process corruption problem if compiled with -O instead of -O2. There have been signs of similar issues floated on the sparc64@ mailing list, lets see if this helps make them go away. Note this isn't an optimal fix as far as the file format goes, if this disgusts too many people I'll fix it the right way. Since compiling with something other than -O is a known problem this format would prevent a change to the default causing grief. And this may also help motivate finding out what the compiler is doing wrong so we can shift back to using -O2. :-) My turn for the pointy hat... One of the florescent ones... MFC after: 2 days
* Fix the PC98 lockups on boot.sos2004-10-069-70/+135
| | | | | The interchannel locking for PC98 needed to be updated to match the rest of the locking in ATA.
* Geoms without softc are geoms which are initialized, so wait for them.pjd2004-10-061-2/+4
|
* Add missing 'static'imp2004-10-061-2/+1
|
* Close a race between a thread exiting and the freeing of it's stack.mtm2004-10-067-8/+12
| | | | | | | | | After some discussion the best option seems to be to signal the thread's death from within the kernel. This requires that thr_exit() take an argument. Discussed with: davidxu, deischen, marcel MFC after: 3 days
* Look out for geoms without softc.pjd2004-10-061-0/+2
| | | | Reported by: tegge
* For older systems with ACPI which don't have a pci <-> pci bridge,imp2004-10-061-3/+3
| | | | | | | allocate unallocated memory resources from the top 32MB of the address space rather than the top 2GB. While the latter works on some chipsets, it fails badly on others. 32MB is more conservative and matches what cheap harware from this era is hardwired to pass.
* For legacy PCI bridges, limit memory allocation to the top 32MB ofimp2004-10-061-4/+24
| | | | | | | | | | | RAM. Many older, legacy bridges only allow allocation from this range. This only appies to devices who don't have their memory assigned by the BIOS (since we allocate the ranges so assigned exactly), so should have minimal impact. Hoewver, for CardBus bridges (cbb), they rarely get the resources allocated by the BIOS, and this patch helps them greatly. Typically the 'bad Vcc' messages are caused by this problem.
* Don't recurse the BPF descriptor lock during the BIOCSDLT operationgreen2004-10-061-1/+1
| | | | | | | | | (and panic). To try to finish making BPF safe, at the very least, the BPF descriptor lock really needs to change into a reader/writer lock that controls access to "settings," and a mutex that controls access to the selinfo/knote/callout. Also, use of callout_drain() instead of callout_stop() (which is really a much more widespread issue).
OpenPOWER on IntegriCloud