Age | Commit message (Collapse) | Author |
|
ok pirofti@
|
|
for blocks re-fetchable from the filesystem. However at reboot time,
filesystems are unmounted, and since processes lack backing store they
are killed. Since the scheduler is still running, in some cases init is
killed... which drops us to ddb [noted by bluhm]. Solution is to convert
filesystems to read-only [proposed by kettenis]. The tale follows:
sys_reboot() should pass proc * to MD boot() to vfs_shutdown() which
completes current IO with vfs_busy VB_WRITE|VB_WAIT, then calls VFS_MOUNT()
with MNT_UPDATE | MNT_RDONLY, soon teaching us that *fs_mount() calls a
copyin() late... so store the sizes in vfsconflist[] and move the copyin()
to sys_mount()... and notice nfs_mount copyin() is size-variant, so kill
legacy struct nfs_args3. Next we learn ffs_mount()'s MNT_UPDATE code is
sharp and rusty especially wrt softdep, so fix some bugs adn add
~MNT_SOFTDEP to the downgrade. Some vnodes need a little more help,
so tie them to &dead_vnops.
ffs_mount calling DIOCCACHESYNC is causing a bit of grief still but
this issue is seperate and will be dealt with in time.
couple hundred reboots by bluhm and myself, advice from guenther and
others at the hut
|
|
From Klemens Nanni.
|
|
ok mpi@
|
|
ok jasper@
|
|
|
|
mount point. Print it to allow debugging through the data structures
from there.
OK krw@
|
|
|
|
- refuse to pretty-print if there's no CTF
ok mpi@
|
|
ok mpi@
|
|
Send an uncatchable SIGABRT to the process specified by the pid
argument. Useful in case of CPU exhaustion to kill the DoSing
process and generate a core for later inspection.
ok phessler@, visa@, kettenis@, miod@
|
|
functionnalities are available in GENERIC.
ok jasper@, deraadt@, guenther@, dlg@
|
|
the corresponding struct definitions.
ok dlg@
|
|
|
|
|
|
this makes it consistent with printing of other values.
ok mpi@
|
|
this lets you inspect arbitrary memory in the kernel as a specified
struct.
ok mpi@ jasper@
|
|
ok mpi@
|
|
Changing the "print" command to use db_ctf_pprint_cmd() broke all documented
uses and "examine" does not allow printing variables, or individual registers.
For now it is better to leave the "print" command intact, and in sync with the
ddb(4) man page, but we still want "pp[rint]" to replace the "print" command
when it works better.
ok mpi@
|
|
|
|
|
|
ok jasper@
|
|
defined (removed in "Kill db_sym_t." from 2017-05-30 11:39 mpi). This
change fixes the problem.
OK mpi@
|
|
|
|
Casting a type is not yet supported.
ok kettenis@, jasper@
|
|
Spotted and diff provided by Andrey Bolkonskiy <andrey0bolkonsky@gmail.com>,
thanks!
okay deraadt@
|
|
|
|
ok deraadt@, kettenis@, jasper@
|
|
ok jasper@
|
|
argument.
|
|
ok claudio@, jasper@
|
|
mpi@ agrees that this is correct.
|
|
- Cache the string table pointer
- Unify return statements
- Use the end of the symbol table rather than counting symbols
|
|
|
|
Using a name with the 'db_' prefix makes it invisible from the dynamic
profiler.
ok deraadt@, kettenis@, visa@
|
|
It doesn't compile und hasn't been working during the last decade.
ok kettenis@, deraadt@
|
|
Go-ahead from kettenis@, guenther@, deraadt@
|
|
on amd64 and i386.
With guenther@
|
|
ok jca@
|
|
profiling framework, for i386.
Code patching is used to enable probes when entering functions. The
probes will call a mcount()-like function to match the behavior of a
GPROF kernel.
A new sysctl knob, ddb.profile, need to be set to 1 in securelevel 0
to be able to use this feature.
ok jasper@, guenther@, mlarkin@
|
|
Pointed by deraadt@
|
|
From Christian Ludwig.
|
|
dump at the end of each line", which has always been documented but
not implemented.
Mostly from NetBSD, but I fixed the column alignment code.
ok mlarkin@, pirofti@
|
|
won't change, so there's no reason to call it again.
- remove explicit return from void function
ok mpi@
|
|
CTF bits.
ok kettenis@ mpi@
|
|
elf(5)
feedback from guenther@
ok guenther@ kettenis@
|
|
to lookup the number of function parameters. however having this basic
facility allows us to expand it's usage.
currently hidden behind the (disabled) DDBCTF kernel option as some of the
required tools are not available in base yet. in addition to that one
also needs recent bootblocks that load the .SUNW_ctf kernel section.
discussed with mpi@ over many a cider and ale in cambridge
feedback and ok guenther@ mpi@
|
|
pointed out by guenther@ in a separate diff
|
|
profiling framework.
Code patching is used to enable probes when entering functions. The
probes will call a mcount()-like function to match the behavior of a
GPROF kernel.
Currently only available on amd64 and guarded under DDBPROF. Support
for other archs will follow soon.
A new sysctl knob, ddb.console, need to be set to 1 in securelevel 0
to be able to use this feature.
Inputs and ok guenther@
|
|
(no change in the generated code), it's more correct and helps the reader.
ok deraadt@ guenther@
|