#
64a93525 |
| 05-Sep-2024 |
bluhm <bluhm@openbsd.org> |
In ddb(4) print mbuf chain and packet list.
For debugging hardware offloading, DMA requirements, bounce buffers, and performance optimizations, knowing the memory layout of mbuf content helps. Imple
In ddb(4) print mbuf chain and packet list.
For debugging hardware offloading, DMA requirements, bounce buffers, and performance optimizations, knowing the memory layout of mbuf content helps. Implement /c and /p modifiers in ddb show mbuf. It traverses the pointer m_next for mbuf chain or m_nextpkt for packet list. Show mbuf type, data offset, mbuf length, packet length, cluster size, and total number of elements, length and size.
OK claudio@ mvs@
show more ...
|
#
81fb472f |
| 03-Feb-2024 |
beck <beck@openbsd.org> |
Remove Softdep.
Softdep has been a no-op for some time now, this removes it to get it out of the way.
Flensing mostly done in Talinn, with some help from krw@
ok deraadt@
|
#
b2653891 |
| 02-Jul-2023 |
cheloha <cheloha@openbsd.org> |
all platforms, kernel: remove __HAVE_CLOCKINTR symbol
Every platform made the clockintr switch at least six months ago. The __HAVE_CLOCKINTR symbol is now redundant. Remove it.
Prompted by claudio
all platforms, kernel: remove __HAVE_CLOCKINTR symbol
Every platform made the clockintr switch at least six months ago. The __HAVE_CLOCKINTR symbol is now redundant. Remove it.
Prompted by claudio@.
Link: https://marc.info/?l=openbsd-tech&m=168826181015032&w=2
"makes sense" mlarkin@
show more ...
|
#
329e3480 |
| 05-Nov-2022 |
cheloha <cheloha@openbsd.org> |
clockintr(9): initial commit
clockintr(9) is a machine-independent clock interrupt scheduler. It emulates most of what the machine-dependent clock interrupt code is doing on every platform. Every
clockintr(9): initial commit
clockintr(9) is a machine-independent clock interrupt scheduler. It emulates most of what the machine-dependent clock interrupt code is doing on every platform. Every CPU has a work schedule based on the system uptime clock. For now, every CPU has a hardclock(9) and a statclock(). If schedhz is set, every CPU has a schedclock(), too.
This commit only contains the MI pieces. All code is conditionally compiled with __HAVE_CLOCKINTR. This commit changes no behavior yet.
At a high level, clockintr(9) is configured and used as follows:
1. During boot, the primary CPU calls clockintr_init(9). Global state is initialized. 2. Primary CPU calls clockintr_cpu_init(9). Local, per-CPU state is initialized. An "intrclock" struct may be installed, too. 3. Secondary CPUs call clockintr_cpu_init(9) to initialize their local state. 4. All CPUs repeatedly call clockintr_dispatch(9) from the MD clock interrupt handler. The CPUs complete work and rearm their local interrupt clock, if any, during the dispatch. 5. Repeat step (4) until the system shuts down, suspends, or hibernates. 6. During resume, the primary CPU calls inittodr(9) and advances the system uptime. 7. Go to step (2). This time around, clockintr_cpu_init(9) also advances the work schedule on the calling CPU to skip events that expired during suspend. This prevents a "thundering herd" of useless work during the first clock interrupt.
In the long term, we need an MI clock interrupt scheduler in order to (1) provide control over the clock interrupt to MI subsystems like timeout(9) and dt(4) to improve their accuracy, (2) provide drivers like acpicpu(4) a means for slowing or stopping the clock interrupt on idle CPUs to conserve power, and (3) reduce the amount of duplicated code in the MD clock interrupt code.
Before we can do any of that, though, we need to switch every platform over to using clockintr(9) and do some cleanup.
Prompted by "the vmm(4) time bug," among other problems, and a discussion at a2k19 on the subject. Lots of design input from kettenis@. Early versions reviewed by kettenis@ and mlarkin@. Platform-specific help and testing from kettenis@, gkoehler@, mlarkin@, miod@, aoyama@, visa@, and dv@. Babysitting and spiritual guidance from mlarkin@ and kettenis@.
Link: https://marc.info/?l=openbsd-tech&m=166697497302283&w=2
ok kettenis@ mlarkin@
show more ...
|
#
02de433d |
| 29-Jul-2022 |
semarie <semarie@openbsd.org> |
Replace the swap extent(9) usage by a blist data structure.
It makes uvm_swap_free() faster: extents have a cost of O(n*n) which doesn't really scale with gigabytes of swap.
Based on initial work f
Replace the swap extent(9) usage by a blist data structure.
It makes uvm_swap_free() faster: extents have a cost of O(n*n) which doesn't really scale with gigabytes of swap.
Based on initial work from mpi@ The blist implementation comes from DragonFlyBSD.
The diff adds also a ddb(4) 'show swap' command to show the blist and help debugging, and fix some off-by-one in size printed during hibernate.
ok mpi@
show more ...
|
#
d06d27a7 |
| 28-Jul-2022 |
bluhm <bluhm@openbsd.org> |
In the kernel exist functions to print routes, but they were not accessible from ddb. Implement "show all routes" to print routing tables, and "show route 0xfffffd807e9b0000" for a single route entr
In the kernel exist functions to print routes, but they were not accessible from ddb. Implement "show all routes" to print routing tables, and "show route 0xfffffd807e9b0000" for a single route entry. Note that the rtable id is not part of a route entry, so it makes no sense to print it there. OK deraadt@
show more ...
|
#
08f058f8 |
| 07-Nov-2019 |
mpi <mpi@openbsd.org> |
db_addr_t -> vaddr_t
ok deraadt@
|
#
8383b4f2 |
| 06-Nov-2019 |
mpi <mpi@openbsd.org> |
Substitute boolean_t/TRUE/FALSE by int/1/0.
ok dlg@, jasper@, anton@
|
#
a00d4ff8 |
| 29-Sep-2017 |
mpi <mpi@openbsd.org> |
New ddb(4) command: kill.
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 inspect
New ddb(4) command: kill.
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@
show more ...
|
#
2d23c802 |
| 09-Jan-2017 |
mpi <mpi@openbsd.org> |
Revert previous, it's a documented behavior and people might rely on it.
Pointed by deraadt@
|
#
47ded3d0 |
| 09-Jan-2017 |
mpi <mpi@openbsd.org> |
Stop and restart the watchdog timer when entering and leaving ddb(4).
From Christian Ludwig.
|
#
ce5376a6 |
| 15-Jan-2016 |
dlg <dlg@openbsd.org> |
add a "show socket" command to ddb
should help inspecting socket issues in the future.
enthusiasm from mpi@ bluhm@ deraadt@
|
#
76262c1d |
| 05-Nov-2010 |
claudio <claudio@openbsd.org> |
Implement m_print as real ddb command "show mbuf addr" in the way other such commands are implemented. "Ja! You'll need to update ddb.4 as well, of course." miod@
|
#
da59dcae |
| 17-Aug-2009 |
jasper <jasper@openbsd.org> |
dd 'show all bufs' to show all the buffers in the system
ok beck@ thib@
|
#
bfe91d83 |
| 14-Aug-2009 |
thib <thib@openbsd.org> |
add ddb functions to be able to show all the nfsnodes in the system and rewrite the nfsreq code to use pool_walk().
OK beck@, blambert@
|
#
4c6830d6 |
| 13-Aug-2009 |
thib <thib@openbsd.org> |
add a show all vnodes command, use dlg's nice pool_walk() to accomplish this.
ok beck@, dlg@
|
#
be9c681d |
| 17-Jun-2009 |
thib <thib@openbsd.org> |
Revert bufq's. this is inline with the major midlayer reverts that have been going on. this appears to bring us back to stable state.
lots of testing by oga and ariane and my self.
|
#
5a5beaf3 |
| 03-Jun-2009 |
thib <thib@openbsd.org> |
add a flexible buffer queue (bufq) api, based on the never used one by tedu@. It doesn't do anything smart yet, it just uses plain old disksort. we also keep the old method of queueing bufs since som
add a flexible buffer queue (bufq) api, based on the never used one by tedu@. It doesn't do anything smart yet, it just uses plain old disksort. we also keep the old method of queueing bufs since some miods have crazy MD drivers that need some love.
ok beck@, art@ tested by many on many archs.
show more ...
|
#
cecbdfb6 |
| 18-Jan-2009 |
thib <thib@openbsd.org> |
Add nfs ddb hooks, for now only to show all the outstanding nfsreq's and to print out struct nfsreq.
"get it in so people can pound on it" blambert@ OK and information_s_ on the manpage from miod@
|
#
336db846 |
| 12-Jul-2006 |
deraadt <deraadt@openbsd.org> |
fake structs to let kernels compile on architectures that some german companies do not use. Mickey, why did you break the tree for us like this, all after not showing the diffs to lots of people? Ar
fake structs to let kernels compile on architectures that some german companies do not use. Mickey, why did you break the tree for us like this, all after not showing the diffs to lots of people? Are you that special that you can get away with this? Do you really want to bet on that, again?
show more ...
|
#
76726696 |
| 11-Jul-2006 |
mickey <mickey@openbsd.org> |
add mount/vnode/buf and softdep printing commands; tested on a few archs and will make pedro happy too (;
|
#
4db979bc |
| 20-May-2006 |
mickey <mickey@openbsd.org> |
add show all pools command listing all pools as vmstat -m does; miod@ ok
|
#
f7342a4b |
| 16-May-2006 |
mickey <mickey@openbsd.org> |
fix comments
|
#
332a70d3 |
| 18-May-2002 |
art <art@openbsd.org> |
Rename the MD db_stack_trace_cmd to db_stack_trace_print. Add an argument that specifies which printf funciton it should use. Implement db_stack_trace_cmd in MI code.
Thanks to miod@ for all the tes
Rename the MD db_stack_trace_cmd to db_stack_trace_print. Add an argument that specifies which printf funciton it should use. Implement db_stack_trace_cmd in MI code.
Thanks to miod@ for all the tests.
show more ...
|
#
c4071fd1 |
| 14-Mar-2002 |
millert <millert@openbsd.org> |
First round of __P removal in sys
|