Age | Commit message (Collapse) | Author |
|
"do it" thib@
|
|
|
|
ok kettenis@
|
|
Patch initially from mlarkin@. KNF and refactoring by me. Okay deraadt@.
|
|
ok marco@
|
|
struct to 0/NULL. no performance impact but way less error prone on
addition of new pkthdr field (as just ran into with a theo diff). ok theo
|
|
we use compile
brilliant cnst, please learn to test better
|
|
running out of mbufs for rx rings.
if the system low watermark is lower than a rx rings low watermark,
we'll never send a packet up the stack, we'll always recycle it.
found by thib@ on a bge
sadface
|
|
ok niklas@
|
|
doesn't have a usuable uncachable bit, whack all other mappings of a page
if we are about to create a non-equivalent writable alias by entering a
mapping for it.
ok art@, miod@
|
|
ok deraadt@
|
|
if no arguments are passed to a variadic macro.
Create a seperate non variadic macro for this fixed argument
case. No binary change.
ok reyk@
|
|
This eliminates the large single namecache hash table, and implements
the name cache as a global lru of entires, and a redblack tree in each
vnode. It makes cache_purge actually purge the namecache entries associated
with a vnode when a vnode is recycled (very important for later on actually being
able to resize the vnode pool)
This commit does #if 0 out a bunch of procmap code that was
already broken before this change, but needs to be redone completely.
Tested by many, including in thib's nfs test setup.
ok oga@,art@,thib@,miod@
|
|
second vc is created. However, it was allocated using the geometry of
the second vc to allocate backing store for the first. Be sure to use
the proper values in case geometries differ.
|
|
which does pay out, performance wise. one of the conditions to call the
interfaces' if_start routine immediately was "send queue is full".
on a very busy (hammered) machine this will itroduce too much latency
since we spend almost all cpu time in interrupt handlers and softnet,
so the softint actually doing the if_start gets called to seldom and
the queue full check is what triggers the actual transmit.
change the logic to call if's if_start routing immediately when there are
at least 8 packets (or in case if maxlen being smaller than 8, maxlen)
8 chose because it shows best performance in my test setup here.
ok dlg
|
|
ok deraadt
|
|
to free some for use on the rx rings on network cards.
this modifies m_cluncount to advise callers when we're in such a
situation, and makes them responsible for freeing up the cluster
for allocation by MCLGETI later.
fixes an awesome lockup with sis(4) henning has been experiencing.
this is not the best fix, but it is better than the current situation.
yep deraadt@ tested by henning@
|
|
midlayer. always call scsi_done on the xs too.
|
|
COMPLETE in a scsi_cmd handler.
found by thib when testing my midlayer changes.
|
|
an extra smu-i2c-control node where others don't. Handle the difference.
Makes the PowerMac9,1 actually find some i2c devices.
|
|
|
|
|
|
|
|
|
|
ok naddy@
|
|
their baud rate multipliers.
|
|
exactly the same the mi could will use if bufinit() is invoked with
bufpages == 0.
|
|
anymore. Get rid of it completely.
|
|
Also add a check for the maximum number of sensors like we already have for
the number of fans such that we avoid mysterious hangs on machines with
more than 4 sensors.
|
|
inline the loop in the one place it exists, and remove it from uvm
adjust a comment mentioning it accordingly
originally inspired by a diff fixing a comment from oga@
ok art@ beck@ miod@ oga@
|
|
right now, we do a pmap_kenter_pa(), we then get the pte (behind pmap's
back) and check for the cache inhibit bit (if needed). If it isn't what
we want (this is the normal case) then we change it ourselves, and do a
manual tlb shootdown (i386 was a bit more stupid about it than amd64,
too).
Instead, make it so that like on some other archs (sparc64 comes to
mind) you can pass in flags in the low bits of the physical address,
pmap then does everything correctly for you.
Discovered this when I had some code doing a lot of bus_space_maps(), it
was incredibly slow, and profilling was dominated by
pmap_tlb_shootwait();
discussed with kettenis@, miod@, toby@ and art@.
ok art@
|
|
pointer since its just used in one place.
ok blambert@
|
|
semi-reliably on my Thecus. Let others play too.
'no objections' miod@ 'sure' deraadt@
|
|
ok dlg thib
|
|
- Prevent a double vrele() by setting the vnode pointer to NULL.
- Check if vnode pointers have been set to NULL before trying to
vrele().
- don't double free the component path name buffer.
- Add a workaround for multiple vnode pointers all pointing to the
same vnode and the code doing vrele() on all of them, leading to
botched refcounts. This is a horrible hack, but a real fix is being
worked on.
OK blambert@
|
|
to the per-ipf mbuf cluster reference counters
ok dlg claudio
|
|
when rebooting.
ok deraadt@ jasper@
|
|
|
|
|
|
to stop is not called because the ioctl function is a masterpiece)
|
|
these cases the xxstop function is a bit more complicated and has a flag of
some sort, but the use of that flag does not matter; DMA is already ceased
ok dlg
|
|
these cases the xxstop function is a bit more complicated and has a flag of
some sort, but the use of that flag does not matter; DMA is already ceased
ok dlg
|
|
|
|
we now know the interface has already been stopped
|
|
slightly modified version of a diff from Piotr Durlej.
similar to what the vendor driver is doing.
|
|
slightly modified version of a diff from Piotr Durlej.
similar to what the vendor driver is doing.
|
|
|
|
xge_shutdown was just calling stop again
ok dlg
|
|
no binary change (RUN_DEBUG only).
|
|
|