Age | Commit message (Collapse) | Author |
|
prints it. These should be the last offenders.
|
|
ok marco@ no objection miod@ need this for regress djm@ no objection krw@
|
|
Right now when mi_switch picks up the same proc, we didn't clear the
flag which would mean that every time we service an AST we would attempt
a context switch. For some architectures, amd64 being probably the
most extreme, that meant attempting to context switch for every
trap and interrupt.
Now we clear_resched explicitly after every context switch, even if it
didn't do anything. Which also allows us to remove some more code
in cpu_switchto (not done yet).
miod@ ok
|
|
splbio and won't delay clock interrupts.
|
|
of making it dynamic and the smallest value above the former three. Idea
from NetBSD.
|
|
|
|
Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.
OK deraadt@
|
|
ok thib beck art
|
|
file copies to nfsv2 causes the system to eventually peg the console.
On the console ^T indicates that the load is increasing rapidly, ddb
indicates many calls to getbuf, there is some very slow nfs traffic
making none (or extremely slow) progress. Eventually some machines
seize up entirely.
|
|
biowait() reads that do *not* come from the buffer cache - we use the
B_RAW flag to identify these at art's suggestion - since it makes sense
and the flag was not being used. this just flags all these buffers with
B_RAW - biodone already ignores returned buffers marked B_RAW.
ok art@
|
|
|
|
|
|
sgi.
|
|
sigexit the process in this case.
|
|
|
|
flavours. Add another frame buffer ID to recognize it, so that it gets
skipped correctly.
I am quite sure it has an SGC PROM in addition to the DIO PROM, but I don't
have the hardware to check...
|
|
|
|
|
|
bpf(4) are different enough so that the split makes sense -- this is necessary
to make bpf(4) cloneable.
requested deraadt@, OK thib@
|
|
|
|
to the upper *two* pages actually.
|
|
the hp300 related ones currently in use. CN_NORMAL becomes CN_LOWPRI,
CN_INTERNAL becomes CN_MIDPRI and CN_REMOTE becomes CN_HIGHPRI.
ok miod@
|
|
size minus two pages at the start and one page at the end. This gives us
even MB sizes in dmesg (-:
|
|
While there, compute the physical memory size in a much simpler way on mac68k.
|
|
|
|
|
|
|
|
|
|
directive can select between MI and MD versions of these files. At
the same time, adjust the boot programs to pick exactly what they need,
instead of the 7 or 8 mechanisms previously used.
There will be some fallout from this, but testing it all by myself is a
ridiculously slow process; it will be finished in-tree.
Various developers were very nice and avoided making fun of me when I
was gibbering in the corner..
|
|
|
|
decide which files must be pulled into the kernel. Also conditionalize
the pulling of those files based on the COMPAT_* options.
|
|
match the real hardware level used for them).
So instead of keeping a few loose variables to store the runtime computed
psr bits to use for the logical IPL levels, just keep a complete array of
all psr values. Thus we can have a correct splassert_check().
|
|
|
|
as its implementation may vary accross platforms (and will very soon).
|
|
|
|
|
|
- Move the functionality of choosing a process from cpu_switch into
a much simpler function: cpu_switchto. Instead of having the locore
code walk the run queues, let the MI code choose the process we
want to run and only implement the context switching itself in MD
code.
- Let MD context switching run without worrying about spls or locks.
- Instead of having the idle loop implemented with special contexts
in MD code, implement one idle proc for each cpu. make the idle
loop MI with MD hooks.
- Change the proc lists from the old style vax queues to TAILQs.
- Change the sleep queue from vax queues to TAILQs. This makes
wakeup() go from O(n^2) to O(n)
there will be some MD fallout, but it will be fixed shortly.
There's also a few cleanups to be done after this.
deraadt@, kettenis@ ok
|
|
|
|
kernel builds locally this doesnt change much but over NFS this
cuts about 12% of the build time on my setup (i386).
OK miod@, deraadt@.
|
|
|
|
in strategy(), and were reusing it in start().
I first considered introducing a b_rawblkno field in struct buf, as has been
done in NetBSD, to stop this abuse.
However, it does not cost more to simply move the device-specific
``was-b_cylinder'' computation to the start() routine. Plus we get type fixes
(daddr64_t) for free, although this does not really matter for these
pedro-sized devices. Thus we do not need to grow struct buf for these
devices which really ought to live in your Attic (and my machineroom, of
course).
hp300 HP-IB tested, vax mfm not, but the logic is the same.
|
|
cpu_disklabel can go away, since nothing anymore needs to use it; ok miod
|
|
|
|
to support hotplug media on most architectures. disklabel setup and
verification done using new helper functions. Disklabels must *always*
have a correct checksum now. Same code paths are used to learn on-disk
location disklabels, to avoid new errors sneaking in. Tested on almost all
cases, testing help from todd, kettenis, krw, otto, dlg, robert, gwk, drahn
|
|
|
|
|
|
correct and unify; ok thib miod
|
|
routines (alpha, vax) prove to be not worth keeping. Move
bounds_check_with_label() into the MI world. Eliminate unreliable and
almost certainly useless checks for overwriting a disklabel.
After discussion with deraadt@
|
|
implimentations were simply either missing code, or spacing and such.
setdisklabel() can become MI now.
|
|
size which is the REAL DISK SIZE. always. if a driver fails to set
this right, please fix it. agreed with otto and krw
|