Joerg Sonnenberger [Sun, 12 Jun 2005 16:31:50 +0000 (16:31 +0000)]
Convert from spl* to critical sections.
Joerg Sonnenberger [Sun, 12 Jun 2005 15:55:59 +0000 (15:55 +0000)]
Typo.
Noticed-by: Sepherosa Ziehau <sepherosa@gmail.com>
Jeffrey Hsu [Sun, 12 Jun 2005 15:39:33 +0000 (15:39 +0000)]
Deprecate MCLGET() in favor of m_getcl() or m_getl() in order to
take advantage of cluster caching.
Jeffrey Hsu [Sun, 12 Jun 2005 15:37:19 +0000 (15:37 +0000)]
Use m_gethdr() instead of m_get() to get a mbuf header.
Jeroen Ruigrok/asmodai [Sat, 11 Jun 2005 22:37:34 +0000 (22:37 +0000)]
Remove NO_PKGTOOLS wrapper, it existed in top-level Makefile already.
Reminded by: joerg
Jeroen Ruigrok/asmodai [Sat, 11 Jun 2005 21:09:51 +0000 (21:09 +0000)]
Add NO_PKGTOOLS to disable building of the pkg_* tools during world.
This is useful for people using pkgsrc.
Hiten Pandya [Sat, 11 Jun 2005 16:24:36 +0000 (16:24 +0000)]
The BLIST API is just as usable in userland as it is in the kernel; and
the code already contains a userland test program.
Remove conditionals preventing BLISTs from being used in the userland.
Sascha Wildner [Sat, 11 Jun 2005 09:03:49 +0000 (09:03 +0000)]
Dispose of support for IBM's Micro Channel architecture (MCA).
Joerg Sonnenberger [Sat, 11 Jun 2005 08:58:48 +0000 (08:58 +0000)]
Really use M_WAITOK.
Joerg Sonnenberger [Sat, 11 Jun 2005 08:57:26 +0000 (08:57 +0000)]
Don't bzero softc. Setup interrupt last to get tl_attach ISR race free.
Use M_WAITOK for contigmalloc. Use tl_detach for the cleanup path.
Joerg Sonnenberger [Sat, 11 Jun 2005 08:50:21 +0000 (08:50 +0000)]
We know that tl_probe is run first, so turn the check for a bad device
into a KKASSERT.
Jeffrey Hsu [Sat, 11 Jun 2005 04:26:53 +0000 (04:26 +0000)]
Deprecate MCLGET() in favor of m_getcl() or m_getl() in order to
take advantage of cluster caching.
Matthew Dillon [Sat, 11 Jun 2005 00:35:12 +0000 (00:35 +0000)]
Move sys/buf2.h and sys/thread2.h into the #ifdef _KERNEL section.
Matthew Dillon [Sat, 11 Jun 2005 00:29:10 +0000 (00:29 +0000)]
Add missing #include <thread2.h> to support the critical section calls.
Matthew Dillon [Sat, 11 Jun 2005 00:27:09 +0000 (00:27 +0000)]
spl->critical section conversion.
Matthew Dillon [Sat, 11 Jun 2005 00:26:51 +0000 (00:26 +0000)]
spl->critical section conversions.
Matthew Dillon [Sat, 11 Jun 2005 00:05:46 +0000 (00:05 +0000)]
spl->critical section conversion.
Matthew Dillon [Fri, 10 Jun 2005 23:59:33 +0000 (23:59 +0000)]
spl->critical section conversion, plus remove some macros which are now
unused due the removal of spls.
Matthew Dillon [Fri, 10 Jun 2005 23:29:32 +0000 (23:29 +0000)]
spl->critical section conversion.
Matthew Dillon [Fri, 10 Jun 2005 23:25:09 +0000 (23:25 +0000)]
spl->critical section conversion
Matthew Dillon [Fri, 10 Jun 2005 23:11:55 +0000 (23:11 +0000)]
spl->critical section conversion.
Matthew Dillon [Fri, 10 Jun 2005 23:07:02 +0000 (23:07 +0000)]
spl->critical section conversion.
Matthew Dillon [Fri, 10 Jun 2005 22:44:02 +0000 (22:44 +0000)]
spl->critical section conversion.
Matthew Dillon [Fri, 10 Jun 2005 22:34:51 +0000 (22:34 +0000)]
spl->critical section conversion.
Matthew Dillon [Fri, 10 Jun 2005 22:16:05 +0000 (22:16 +0000)]
Replace SPLs with critical sections in the opencrypto code.
Sascha Wildner [Fri, 10 Jun 2005 20:16:32 +0000 (20:16 +0000)]
Remove DEC Alpha support.
Matthew Dillon [Fri, 10 Jun 2005 18:33:04 +0000 (18:33 +0000)]
Another terrible hack to leave interrupts disabled until the USB bus
has completed initialization.
Matthew Dillon [Fri, 10 Jun 2005 18:21:11 +0000 (18:21 +0000)]
Attempt to avoid a livelocked USB interrupt during boot by not enabling
the EHCI interrupt until after all the companion controllers have been
attached.
Sascha Wildner [Fri, 10 Jun 2005 17:10:26 +0000 (17:10 +0000)]
Remove spl*() in dev/raid/{mlx,mly,pst,twa,twe} and replace them
with critical sections.
Joerg Sonnenberger [Fri, 10 Jun 2005 16:19:41 +0000 (16:19 +0000)]
Remove a useless assignment. Move callout_reset into critical section.
Joerg Sonnenberger [Fri, 10 Jun 2005 16:16:51 +0000 (16:16 +0000)]
Use epic_detach for error cleanup during attach. Make attach interrupt
safe by hooking the interrupt in last.
Joerg Sonnenberger [Fri, 10 Jun 2005 16:10:42 +0000 (16:10 +0000)]
Move the callout_reset into the critical section.
Joerg Sonnenberger [Fri, 10 Jun 2005 16:05:34 +0000 (16:05 +0000)]
Use the PCI helper functions and nuke now unused macros.
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
Joerg Sonnenberger [Fri, 10 Jun 2005 16:02:47 +0000 (16:02 +0000)]
if_printf / device_printf
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
Sascha Wildner [Fri, 10 Jun 2005 15:46:31 +0000 (15:46 +0000)]
Remove spl*() in dev/raid/{dpt,ida,iir} and replace them
with critical sections.
Sascha Wildner [Fri, 10 Jun 2005 15:29:17 +0000 (15:29 +0000)]
Remove unused variables.
Joerg Sonnenberger [Fri, 10 Jun 2005 15:13:37 +0000 (15:13 +0000)]
Reorder critical sections to be as short as possible by moving invariants out.
Joerg Sonnenberger [Fri, 10 Jun 2005 12:53:45 +0000 (12:53 +0000)]
Add /usr/pkg/etc/rc.d to the rcNG search list.
Simon Schubert [Thu, 9 Jun 2005 23:38:00 +0000 (23:38 +0000)]
Fix ctype::is() by using the right array
Sascha Wildner [Thu, 9 Jun 2005 20:55:05 +0000 (20:55 +0000)]
Remove spl*() in dev/raid/{aac,amr,asr,ciss} and replace them
with critical sections.
Sascha Wildner [Thu, 9 Jun 2005 20:47:37 +0000 (20:47 +0000)]
Unbreak LINT by including <sys/thread2.h> where proper and remove some
unused s variables.
Jeffrey Hsu [Thu, 9 Jun 2005 20:17:53 +0000 (20:17 +0000)]
Fix typo that turns out to be harmless by accident, as MT_HEADER and
M_PKTHDR have the same value, 2.
Joerg Sonnenberger [Thu, 9 Jun 2005 20:04:44 +0000 (20:04 +0000)]
Convert to critical sections. No need to protect the interupt from racing
against itself.
Joerg Sonnenberger [Thu, 9 Jun 2005 19:45:12 +0000 (19:45 +0000)]
Convert to critical sections, move timer reset into the protection.
Joerg Sonnenberger [Thu, 9 Jun 2005 19:39:18 +0000 (19:39 +0000)]
Explicitly note that updating from pre-1.2 to PREVIEW or HEAD is not
supported, the intermediate step to 1.2 is required.
Joerg Sonnenberger [Thu, 9 Jun 2005 19:29:00 +0000 (19:29 +0000)]
Use M_WAITOK for contigmalloc now that the attach path is interrupt-save.
Joerg Sonnenberger [Thu, 9 Jun 2005 19:26:55 +0000 (19:26 +0000)]
Don't bzero the softc, it is already zero.
Use ste_detach for cleanup if attach fails.
Setup interrupt last to prevent possible races.
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
Inspired-by: related changes to wb(4)
Eirik Nygaard [Thu, 9 Jun 2005 19:14:12 +0000 (19:14 +0000)]
Replace the hand rolled linked list with a SLIST.
Joerg Sonnenberger [Thu, 9 Jun 2005 19:13:34 +0000 (19:13 +0000)]
Use ether_crc32_be.
Obtained-from: FreeBSD
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
Joerg Sonnenberger [Thu, 9 Jun 2005 19:10:04 +0000 (19:10 +0000)]
Use PCI helper functions instead of hand-rolling them. Remove now
unused macros.
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
Joerg Sonnenberger [Thu, 9 Jun 2005 19:05:16 +0000 (19:05 +0000)]
device_printf / if_printf and some minor nits.
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
Jeffrey Hsu [Thu, 9 Jun 2005 18:39:05 +0000 (18:39 +0000)]
Deprecate MCLGET() in favor of m_getl() in order to take advantage
of cluster caching.
Matthew Dillon [Thu, 9 Jun 2005 18:26:22 +0000 (18:26 +0000)]
Fix a bug in the mbstats accounting. m_mbufs was being decremented for
normal mbufs converted to clustered mbufs, but in fact it should not be
because we decrement it properly when the normal-mbuf-with-cluster is
freed.
Change most of the m_getl()'s back to m_get()'s or m_gethdr()'s in order
to guarentee that the mbuf does NOT have a cluster associated with it
since we are going to try to share the old mbuf's cluster later on
(in m_copym()). This bug was causing the system to run out of mbuf
clusters.
Add a number of assertions for correct operation.
Jeffrey Hsu [Thu, 9 Jun 2005 17:14:13 +0000 (17:14 +0000)]
Also preserve all the non-copied flags in the target mbuf when duplicating a
packet header.
Requested by: Matt Dillon
Joerg Sonnenberger [Thu, 9 Jun 2005 17:09:34 +0000 (17:09 +0000)]
Fix some bugs in the last commit. We have to call ether_ifdetach if we
couldn't setup the interrupt. We should always try to detach the children.
Noticed-by: Sepherosa Ziehau <sepherosa@gmail.com>
Jeffrey Hsu [Thu, 9 Jun 2005 16:53:11 +0000 (16:53 +0000)]
Preserve the target M_EXT_CLUSTER flag when duplicating a packet header.
Matthew Dillon [Thu, 9 Jun 2005 16:53:10 +0000 (16:53 +0000)]
Add a missing lwkt_reltoken() in the NULL return path. Do not count NULL
returns in the gets_cumulative statistic.
Simon Schubert [Thu, 9 Jun 2005 14:35:29 +0000 (14:35 +0000)]
Add directories for gcc40
Jeffrey Hsu [Thu, 9 Jun 2005 02:03:39 +0000 (02:03 +0000)]
The header type of a mbuf doesn't change when appended onto a chain.
Jeffrey Hsu [Thu, 9 Jun 2005 01:55:12 +0000 (01:55 +0000)]
A packet header without any packet tags is still a packet header.
Jeffrey Hsu [Wed, 8 Jun 2005 23:50:35 +0000 (23:50 +0000)]
Only duplicate packet headers into mbuf packet headers.
Jeffrey Hsu [Wed, 8 Jun 2005 23:45:00 +0000 (23:45 +0000)]
Get an mbuf packet header to begin with instead of getting an mbuf and then
immediately changing it into an mbuf packet header.
Jeffrey Hsu [Wed, 8 Jun 2005 23:39:08 +0000 (23:39 +0000)]
Only allow packet headers to be copied into a packet header mbuf.
Jeffrey Hsu [Wed, 8 Jun 2005 23:29:29 +0000 (23:29 +0000)]
Should have allocated a mbuf packet header to begin with.
Jeffrey Hsu [Wed, 8 Jun 2005 23:14:29 +0000 (23:14 +0000)]
Allocate the right type of mbuf to begin with rather than switching types
afterwards.
Jeffrey Hsu [Wed, 8 Jun 2005 23:10:27 +0000 (23:10 +0000)]
Convert to use m_getl() in order to take advantage of cluster caching and
to avoid switching the mbuf type from non-packet header to packet header.
Matthew Dillon [Wed, 8 Jun 2005 22:22:59 +0000 (22:22 +0000)]
Rollup mbuf/objcache fixes.
* Completely replace the blocking algorithm that is used to stall when the
depot has insufficient resources.
* Use __offsetof() to calculate variable length structural sizes.
* #if 0 out balancing code for now. There isn't actually much of a need for
it since each cpu can hold no more then two magazines anyway. The depot
will have the rest.
* Increase the magazine capacity from 5 to 256 elements to improve
performance.
* The mbufs were being returned to a different objcache then they had been
allocated from, due to a dependance on M_PKTHDR and M_EXT. But these
flags can change unexpectedly and this led to lockups in the objcache
code and other issues. Also the share count on the cluster may mean
that it is not possible to release an mbuf+cluster back to its original
mbuf+cluster cache... it may have to be DTORed instead.
* Change the way ref counts are handled in the mclmeta_cache. The cache
returns and expects a ref count of 0 now, and the link code deals with
bumping it.
Matthew Dillon [Wed, 8 Jun 2005 22:14:37 +0000 (22:14 +0000)]
Handle the case where the version file might be empty, which can occur
if a machine crashes while building the kernel.
Matthew Dillon [Wed, 8 Jun 2005 19:29:32 +0000 (19:29 +0000)]
Temporary hack to fix interrupt race when decrementing a shared
mbuf cluster count.
Joerg Sonnenberger [Wed, 8 Jun 2005 19:20:09 +0000 (19:20 +0000)]
Reorder initialisation to make protection unnecessary.
Use device_printf in wb_attach. Leave critical section ASAP in wb_detach.
Use M_WAITOK for contigmalloc.
Partly-obtained-from: FreeBSD (first part).
Joerg Sonnenberger [Wed, 8 Jun 2005 19:03:10 +0000 (19:03 +0000)]
Fix detach order: We have to unhook the interrupt first and leave the
critical section afterwards.
Matthew Dillon [Wed, 8 Jun 2005 16:30:47 +0000 (16:30 +0000)]
Reorder code in m_chtype() to properly decrement the mbtype stats. Before
it was assigning the new type before (attempting to) decrement the old, and
decrementing the new instead.
Max Okumoto [Wed, 8 Jun 2005 08:25:50 +0000 (08:25 +0000)]
Remove spl*() in src/sys/dev/serial/{cy,rc,rp,si,sio,stl,stli}
and replace them with critical sections.
Sascha Wildner [Tue, 7 Jun 2005 20:21:23 +0000 (20:21 +0000)]
Clean up some of the worst style issues:
o Remove whitespace (around parentheses, at the end of lines, etc.).
Why do people waste so much whitespace??
o Use tabs where possible.
o Put function return types on a single line.
o Remove empty lines after {.
o Remove argument names from prototypes.
Jeffrey Hsu [Tue, 7 Jun 2005 19:08:55 +0000 (19:08 +0000)]
Re-implement the mbuf allocator using the object cache.
Jeffrey Hsu [Tue, 7 Jun 2005 19:07:11 +0000 (19:07 +0000)]
Generic cache of pre-initialized objects. It uses per-cpu caches
for MP-safety, was designed to be NUMA-aware, and works on top of
any storage allocator. The object cache is largely inspired by the
object cache portion of Sun's slab allocator.
Jeffrey Hsu [Tue, 7 Jun 2005 19:06:08 +0000 (19:06 +0000)]
Prefer the clearer m_getc() API over m_getm().
YONETANI Tomokazu [Tue, 7 Jun 2005 00:52:34 +0000 (00:52 +0000)]
remove an unused struct
YONETANI Tomokazu [Tue, 7 Jun 2005 00:51:13 +0000 (00:51 +0000)]
Replace spl*() with critical sections.
Max Okumoto [Mon, 6 Jun 2005 23:13:26 +0000 (23:13 +0000)]
Remove spl*() in src/sys/dev/netif/wi
and replace them with critical sections.
Max Okumoto [Mon, 6 Jun 2005 23:12:07 +0000 (23:12 +0000)]
Remove spl*() in src/sys/dev/netif/{ste,ti,tl,tx,txp,vr,vx,wb,wl,xe}
and replace them with critical sections.
Simon Schubert [Mon, 6 Jun 2005 22:51:54 +0000 (22:51 +0000)]
convert spl* to critical sections
Simon Schubert [Mon, 6 Jun 2005 22:45:39 +0000 (22:45 +0000)]
Add entry for disk/mpt, "LSI '909 FC adapters"
Simon Schubert [Mon, 6 Jun 2005 22:18:13 +0000 (22:18 +0000)]
remove bs, a pc98-only driver
Simon Schubert [Mon, 6 Jun 2005 22:03:20 +0000 (22:03 +0000)]
remove ct, a pc98-only driver
Jeffrey Hsu [Mon, 6 Jun 2005 21:50:28 +0000 (21:50 +0000)]
Deprecate MCLGET() in favor of m_getcl() or m_getl() in order to
take advantage of cluster caching.
Eirik Nygaard [Mon, 6 Jun 2005 21:48:16 +0000 (21:48 +0000)]
More spl_* removal from dev/disk/, replacing them with critical sections.
Liam J. Foy [Mon, 6 Jun 2005 18:17:09 +0000 (18:17 +0000)]
- We should use inet_ntoa which returns an ASCII string of representing the
address in '.' notation.
Joerg Sonnenberger [Mon, 6 Jun 2005 16:32:28 +0000 (16:32 +0000)]
Convert splimp to criticial sections for now. Cleanup the critical
sections a bit.
Joerg Sonnenberger [Mon, 6 Jun 2005 16:16:13 +0000 (16:16 +0000)]
Let the system deal with device shutdown, don't do it yourself.
Joerg Sonnenberger [Mon, 6 Jun 2005 15:59:06 +0000 (15:59 +0000)]
Use WAITOK allocation, fix some arguments and remove a now unused
variable.
Joerg Sonnenberger [Mon, 6 Jun 2005 15:53:17 +0000 (15:53 +0000)]
Always hook the interrupt up last, we don't have to worry about
ISR access that way.
Joerg Sonnenberger [Mon, 6 Jun 2005 15:42:18 +0000 (15:42 +0000)]
Replace splimp with critical sections for now. Fix a bug in xl_init,
when the TX ring couldn't be initialized, we must not continue.
Matthew Dillon [Mon, 6 Jun 2005 15:35:28 +0000 (15:35 +0000)]
Get rid of an unused variable due to the last commit.
Matthew Dillon [Mon, 6 Jun 2005 15:35:09 +0000 (15:35 +0000)]
Add some missing #include's from the last commit.
Joerg Sonnenberger [Mon, 6 Jun 2005 15:27:28 +0000 (15:27 +0000)]
Remove splimp in xl_attach, the interrupt is created last and
therefore protection needed.
David Rhodus [Mon, 6 Jun 2005 15:09:38 +0000 (15:09 +0000)]
Replace spl with critical sections.
Matthew Dillon [Mon, 6 Jun 2005 15:02:28 +0000 (15:02 +0000)]
Remove spl*() calls from kern, replacing them with critical sections.
Change the meaning of safepri from a cpl mask to a thread priority.
Make a minor adjustment to tests within one of the buffer cache's
critical sections.
Gregory Neil Shapiro [Mon, 6 Jun 2005 04:25:51 +0000 (04:25 +0000)]
Merge from vendor branch SENDMAIL:
Import sendmail 8.13.4 into a new contrib directory as the first step
towards upgrading sendmail in DragonFly. The build infrastructure will
follow over the next couple of days.
Gregory Neil Shapiro [Mon, 6 Jun 2005 04:25:51 +0000 (04:25 +0000)]
Import sendmail 8.13.4 into a new contrib directory as the first step
towards upgrading sendmail in DragonFly. The build infrastructure will
follow over the next couple of days.