aboutsummaryrefslogtreecommitdiff
path: root/sys/ddb
Commit message (Collapse)AuthorAgeFilesLines
* ddb: Add sysctl flag CTLFLAG_TUN to loader tunableZhenlei Huang2023-10-121-2/+2
| | | | | | | | | | | | | | | The sysctl variable 'debug.ddb.capture.bufsize' is actually a loader tunable. Add sysctl flag CTLFLAG_TUN to it so that `sysctl -T` will report it correctly. No functional change intended. Reviewed by: kib, imp MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D42113 (cherry picked from commit 0eb2e197896e2ec8a45730b61eeb77d5431af69f) (cherry picked from commit 0de3d5316cbc8297c61952c392e4b9d58b538b99)
* sys: Remove $FreeBSD$: one-line .c patternWarner Losh2023-08-2320-40/+0
| | | | | | | Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/ Similar commit in current: (cherry picked from commit 685dc743dc3b)
* sys: Remove $FreeBSD$: two-line .h patternWarner Losh2023-08-239-18/+0
| | | | | | | Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/ Similar commit in current: (cherry picked from commit 95ee2897e98f)
* spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSDWarner Losh2023-07-254-4/+4
| | | | | | | | | | | The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix (cherry picked from commit 4d846d260e2b9a3d4d0a701462568268cbfe7a5b)
* ddb: ansifyMateusz Guzik2023-04-091-14/+5
| | | | | | | Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit fb1b78bfcead2126f9a984ac1c3e6a3a7e505f83)
* ddb: have 'reset' command use normal reboot pathMitchell Horne2023-02-061-1/+13
| | | | | | | | | | | | | | | | | | | | This conditionally gives all registered shutdown handlers a chance to perform the reboot, with cpu_reset() being the fallback. The '\s' modifier can be used with the command to get the previous behaviour. The motivation is that some platforms may not be able do anything meaningful via cpu_reset(), due to a lack of standardized reset mechanism and/or firmware shortcomings. However, they may have a separate device driver attached that normally performs the reboot. Such is the case for some versions of the Raspberry Pi, where reset via PSCI fails, but the BCM2835 watchdog driver has a shutdown hook. Reported by: bz Reviewed by: markj (slightly earlier version) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D37981 (cherry picked from commit 5644850620aead7c257a4e3040e20201b510f499)
* ddb: print the actual syscall nameMitchell Horne2022-11-062-14/+6
| | | | | | | | | | | | | | | | | | | | | | | Some architectures will pretty-print a system call trap in the backtrace. Rather than printing the symbol, use the syscallname() function to pull the string from the sv_syscallnames array corresponding to the process. This simplifies the function somewhat. Mostly, this will result in dropping the "sys" prefix, e.g. "sys_exit" will now be printed simply as "exit". Make two minor tweaks to the function signature: use a u_int for the syscall number since this is a more correct type (see the 'code' member of struct syscall_args), and make the thread pointer the first argument. The latter is more natural and conventional. Suggested by: jrtc27 Reviewed by: jrtc27, markj, jhb MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37200 (cherry picked from commit aba921bd9e1869dae9ae4cc6e0c048f997401034)
* ddb: de-duplicate decode_syscall()Mitchell Horne2022-11-062-1/+27
| | | | | | | | | | | | | | | Only i386 and amd64 print the decoded syscall name in the backtrace. This de-duplication facilitates further changes and adoption by other platforms. Reviewed by: jrtc27, markj, jhb MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D36565 (cherry picked from commit 754cb545b68ba0a1643792763d000018ffe2afec) (cherry picked from commit 6f8a182b15c4c14cfb9462b806a928ddaf47c87e) (cherry picked from commit 89e5ef8917af900558c2d275f5d5c4c703520ead) (cherry picked from commit 85b715baae22ca12f2d24e1b2980f3d5b32937b8)
* ddb: add _FLAGS command variantsMitchell Horne2022-08-111-4/+12
| | | | | | | | | | | | | | Provide _FLAGS variants of the various command definition macros, in anticipation of adding a new flag. This can also be used for some existing commands which require special flag values. Reviewed by: markj MFC after: 3 days Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D35581 (cherry picked from commit 7ce58d4e8c0cfcb42ec404aed6185b5eb7eef8a8)
* db_command.c: use designated initializersMitchell Horne2022-08-111-57/+70
| | | | | | | | | | | | | | | Provide separate helper macros for regular commands and next-level table commands as they are mutually exclusive. This ensures proper initialization of each element and allows us to exclude some redundant fields, such as specifying .more = NULL for every regular command. Reviewed by: markj, jhb MFC after: 3 days Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D35580 (cherry picked from commit 8a0994823365740f4d92842c2d6f7f524310ba64)
* db_command.c: styleMitchell Horne2022-08-111-153/+141
| | | | | | | | | | Reviewed by: jhb MFC after: 3 days Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D35368 (cherry picked from commit 4f2ad6243f15ef325aa8daa680949b0ee1076c6e)
* Adjust db_flush_line() definition to avoid clang 15 warningDimitry Andric2022-07-231-1/+1
| | | | | | | | | | | | | | | | | With clang 15, the following -Werror warnings is produced: sys/ddb/db_lex.c:94:14: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] db_flush_line() ^ void This is because db_flush_line() is declared with a (void) argument list, but defined with an empty argument list. Make the definition match the declaration. MFC after: 3 days (cherry picked from commit 939cb349b2ca4d3fcdc72ab1258eadee5e54881c)
* kerneldump: remove physical from dump routinesMitchell Horne2022-06-271-2/+2
| | | | | | | | | | | It is unused, especially now that the underlying d_dumper methods do not accept the argument. Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D35174 (cherry picked from commit db71383b8836a586051b25c20992066d153c6941)
* ddb: namespacing of struct commandMitchell Horne2022-06-232-39/+42
| | | | | | | | | | | | | | 'command' is too generic for something specific to the kernel debugger; change this so it is less likely to collide with local variable names. Also rename struct command_table to struct db_command_table. Reviewed by: markj MFC after: 1 week Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D35367 (cherry picked from commit 4ef7db5a7e5c06cd8788e6f653ee955ace44b6c9)
* Create sys/reg.h for the common code previously in machine/reg.hAndrew Turner2022-05-121-0/+1
| | | | | | | | | | | | Move the common kernel function signatures from machine/reg.h to a new sys/reg.h. This is in preperation for adding PT_GETREGSET to ptrace(2). Reviewed by: imp, markj Sponsored by: DARPA, AFRL (original work) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D19830 (cherry picked from commit b792434150d66b9b2356fb9a7548f4c7f0a0f16c)
* ddb: reliably fail with ambiguous commandsRyan Libby2021-07-021-1/+1
| | | | | | | | | | | | | | db_cmd_match had an even/odd bug, where if a third command was partially matched (or any odd number greater than one) the search result would be set back from CMD_AMBIGUOUS to CMD_FOUND, causing the last command in the list to be executed instead of failing the match. Reported by: mlaier Reviewed by: markj, mlaier, vangyzen Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D28659 (cherry picked from commit d85c9cef1380f4f135aee95ad8c1f4d3eca74c5b)
* ddb: replace watchpoint set/clear functionsMitchell Horne2021-04-212-16/+41
| | | | | | | | | | Use the new kdb variants. Print more specific error messages. Reviewed by: jhb, markj Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. (cherry picked from commit 9d81dd5404b3ad7108059d7065814d56a722a96c)
* ddb: add ability to print user registersmhorne2021-01-081-1/+23
| | | | | | | | | | | | | | | | | | | | The debugger is always entered after some kind of kernel trap, often a breakpoint in kdb_enter(). This means that the most recent trapframe will include kernel state at the time of the trap, when often it is desirable to the developer to view the contents of the previous trapframe. This trapframe often corresponds to the entry from userspace. The ddb(4) man page claims the ability to display user register state via the 'u' modifier to `show registers`, but this appears untrue. It is not obvious from a quick search of the history when this feature was added, or when it was removed. (Re)implement this feature in db_show_regs, noting that it is not necessarily populated with userspace state. Reviewed by: jhb (earlier version), markj, bcr (manpages) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D27705
* ddb: Display process flags (p_flag and p_flag2) in 'show proc'.John Baldwin2021-01-011-0/+2
| | | | | | Reviewed by: kib Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D27872
* Use kdb_thr_* to iterate over threads consistently in DDB.John Baldwin2021-01-012-26/+22
| | | | | | | | | | The "findstack", "show all trace", and "show active trace" commands were iterating over allproc to enumerate threads. This missed threads executing in exit1() after being removed from allproc. Reviewed by: kib Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D27829
* Use kdb_thr_from_pid() in db_lookup_thread().John Baldwin2021-01-011-5/+3
| | | | | | | | The code is identical, so this should be a no-op. Reviewed by: kib Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D27828
* Don't check P_INMEM in kdb_thr_*().John Baldwin2021-01-012-3/+9
| | | | | | | | | | Not all debugger operations that enumerate threads require thread stacks to be resident in memory to be useful. Instead, push P_INMEM checks (if needed) into callers. Reviewed by: kib Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D27827
* ddb ps: Use the pidhash to enumerate processes not in allproc.John Baldwin2021-01-011-8/+6
| | | | | | | | | | | | | | | Exiting processes that have been removed from allproc but are still executing are not yet marked PRS_ZOMBIE, so they were not listed (for example, if a thread panics during exit1()). To detect these processes, clear p_list.le_prev to NULL explicitly after removing a process from the allproc list and check for this sentinel rather than PRS_ZOMBIE when walking the pidhash. While here, simplify the pidhash walk to use a single outer loop. Reviewed by: kib Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D27824
* Add a kstack_contains() helper function.John Baldwin2020-12-011-2/+1
| | | | | | | | | | | | | This is useful for stack unwinders which need to avoid out-of-bounds reads of a kernel stack which can trigger kernel faults. Reviewed by: kib, markj Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D27356 Notes: svn path=/head/; revision=368240
* db_search_symbol: prevent pollution from bogus symbolsEric van Gyzen2020-10-261-1/+14
| | | | | | | | | | | | | | | | | The kernel will never map the first page, so any symbols in that range cannot refer to addresses. Some third-party assembly files define internal constants which appear in their symbol table. Avoiding the lookup for those symbols avoids replacing small offsets with those symbols during disassembly. Reported by: Anton Rang <rang%acm.org> Reviewed by: Anton Rang <rang%acm.org>, markj MFC after: 2 weeks Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D26895 Notes: svn path=/head/; revision=367059
* ddb: clean up empty lines in .c and .h filesMateusz Guzik2020-09-016-10/+1
| | | | Notes: svn path=/head/; revision=365227
* [PowerPC] More relocation fixesBrandon Bergren2020-06-212-15/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out relocating the symbol table itself can cause issues, like fbt crashing because it applies the offsets to the kernel twice. This had been previously brought up in rS333447 when the stoffs hack was added, but I had been unaware of this and reimplemented symtab relocation. Instead of relocating the symbol table, keep track of the relocation base in ddb, so the ddb symbols behave like the kernel linker-provided symbols. This is intended to be NFC on platforms other than PowerPC, which do not use fully relocatable kernels. (The relbase will always be 0) * Remove the rest of the stoffs hack. * Remove my half-baked displace_symbol_table() function. * Extend ddb initialization to cope with having a relocation offset on the kernel symbol table. * Fix my kernel-as-initrd hack to work with booke64 by using a temporary mapping to access the data. * Fix another instance of __powerpc__ that is actually RELOCATABLE_KERNEL. * Change the behavior or X_db_symbol_values to apply the relocation base when updating valp, to match link_elf_symbol_values() behavior. Reviewed by: jhibbits Sponsored by: Tag1 Consulting, Inc. Differential Revision: https://reviews.freebsd.org/D25223 Notes: svn path=/head/; revision=362458
* kernel: provide panicky version of __unreachableKyle Evans2020-05-131-2/+3
| | | | | | | | | | | | | | | | | | | | | __builtin_unreachable doesn't raise any compile-time warnings/errors on its own, so problems with its usage can't be easily detected. While it would be nice for this situation to change and compilers to at least add a warning for trivial cases where local state means the instruction can't be reached, this isn't the case at the moment and likely will not happen. This commit adds an __assert_unreachable, whose intent is incredibly clear: it asserts that this instruction is unreachable. On INVARIANTS builds, it's a panic(), and on non-INVARIANTS it expands to __unreachable(). Existing users of __unreachable() are converted to __assert_unreachable, to improve debuggability if this assumption is violated. Reviewed by: mjg Differential Revision: https://reviews.freebsd.org/D23793 Notes: svn path=/head/; revision=361011
* Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)Pawel Biernacki2020-02-264-14/+24
| | | | | | | | | | | | | | | | | | | r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly marked). Use it in preparation for a general review of all nodes. This is non-functional change that adds annotations to SYSCTL_NODE and SYSCTL_PROC nodes using one of the soon-to-be-required flags. Mark all obvious cases as MPSAFE. All entries that haven't been marked as MPSAFE before are by default marked as NEEDGIANT Approved by: kib (mentor, blanket) Commented by: kib, gallatin, melifaro Differential Revision: https://reviews.freebsd.org/D23718 Notes: svn path=/head/; revision=358333
* Add KERNEL_PANICKED macro for use in place of direct panicstr testsMateusz Guzik2020-01-121-1/+1
| | | | Notes: svn path=/head/; revision=356655
* sleep(9), sleepqueue(9): const'ify wchan pointersConrad Meyer2019-12-241-1/+1
| | | | | | | | | | | | | | | | | | _sleep(9), wakeup(9), sleepqueue(9), et al do not dereference or modify the channel pointers provided in any way; they are merely used as intptrs into a dictionary structure to match waiters with wakers. Correctly annotate this such that _sleep() and wakeup() may be used on const pointers without invoking ugly patterns like __DECONST(). Plumb const through all of the underlying sleepqueue bits. No functional change. Reviewed by: rlibby Discussed with: kib, markj Differential Revision: https://reviews.freebsd.org/D22914 Notes: svn path=/head/; revision=356057
* ddb(4): Add some support for lexing IPv6 addressesConrad Meyer2019-09-092-4/+25
| | | | | | | | | | | | | | | | | | | | | Allow commands to specify that (hex) numbers may start with A-F, by adding the DRT_HEX flag for db_read_token_flags(). As before, numbers containing invalid digits for the current radix are rejected. Also, lex ':' and '::' tokens as tCOLON and tCOLONCOLON respectively. There is a mild conflict here with lexed "identifiers" (tIDENT): ddb identifiers may contain arbitrary colons, and the ddb lexer is greedy. So the identifier lex will swallow any colons it finds inside identifiers, and consumers are still unable to expect the token sequence 'tIDENT tCOLON'. That limitation does not matter for IPv6 addresses, because the lexer always attempts to lex numbers before identifiers. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D21509 Notes: svn path=/head/; revision=352075
* ddb(4): Enhance lexer functionality for specialized commandsConrad Meyer2019-09-092-10/+75
| | | | | | | | | | | | | | | | | Add a db_read_token_flags() variant of db_read_token() with configurable parameters. Allow specifying an explicit radix for tNUMBER lexing. It overrides the default inference and db_radix setting. Also provide the option of yielding any lexed whitespace (tWSPACE) (instead of ignoring it). This is useful for whitespace-sensitive CS_OWN commands. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D21459 Notes: svn path=/head/; revision=352074
* ddb(4): Move an extern variable declaration to a headerConrad Meyer2019-09-092-3/+3
| | | | | | | Trivial cleanup, no functional change. Notes: svn path=/head/; revision=352053
* proc: eliminate the zombproc listMateusz Guzik2019-08-282-131/+135
| | | | | | | | | | | | It is not needed by anything in the kernel and it slightly drives up contention on both proctree and allproc locks. Reviewed by: kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D21447 Notes: svn path=/head/; revision=351572
* Cache kernel stacks in UMA. This gives us NUMA support, better concurrency,Jeff Roberson2019-08-061-11/+0
| | | | | | | | | | | | and more statistics. Reviewed by: kib, markj Tested by: pho Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D20931 Notes: svn path=/head/; revision=350663
* ddb show proc typoRyan Libby2019-06-221-1/+1
| | | | Notes: svn path=/head/; revision=349288
* Extract eventfilter declarations to sys/_eventfilter.hConrad Meyer2019-05-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h" in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces header pollution substantially. EVENTHANDLER_DECLARE and EVENTHANDLER_LIST_DECLAREs were moved out of .c files into appropriate headers (e.g., sys/proc.h, powernv/opal.h). As a side effect of reduced header pollution, many .c files and headers no longer contain needed definitions. The remainder of the patch addresses adding appropriate includes to fix those files. LOCK_DEBUG and LOCK_FILE_LINE_ARG are moved to sys/_lock.h, as required by sys/mutex.h since r326106 (but silently protected by header pollution prior to this change). No functional change (intended). Of course, any out of tree modules that relied on header pollution for sys/eventhandler.h, sys/lock.h, or sys/mutex.h inclusion need to be fixed. __FreeBSD_version has been bumped. Notes: svn path=/head/; revision=347984
* db show thread: avoid overflow in tick conversionRyan Libby2019-05-161-7/+7
| | | | | | | | | | | | | The previous calculations for displaying the time since last switch easily overflowed, after less than 36 min for hz=1000. Now overflow takes 2000 times longer (as long as ticks takes to wrap). Reviewed by: cem, markj Sponsored by: Dell EMC Isilon Differential revision: https://reviews.freebsd.org/D20273 Notes: svn path=/head/; revision=347646
* ddb: Print the thread's pcb in 'show thread'Justin Hibbits2019-02-091-0/+1
| | | | | | | | | This can aid with debugging when a thread is running and has no backtrace. State can be estimated based on the pcb, and refined from there, for example, to get a rough idea of the stack pointer. Notes: svn path=/head/; revision=343943
* ddb: Enable 'thread <address>'Conrad Meyer2018-10-202-12/+2
| | | | | | | | | | | | | | | | | | Currently, the 'thread' command (to switch the debugger to another thread) only accepts decimal-encoded tids. Use the same parsing logic as 'show thread <arg>' to accept hex-encoded thread pointers in addition to decimal-encoded tids. Document the 'thread' command in ddb.4 and expand the 'show thread' documentation to cover the tid usage. Reported by: bwidawsk Reviewed by: bwidawsk (earlier version), kib (earlier version), markj Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D16962 Notes: svn path=/head/; revision=339486
* add an option for ddb ps command to print process argumentsAndriy Gapon2018-08-091-6/+33
| | | | | | | | | | | | | | | | | | | We use ps to collect the information of all processes in textdump. But it doesn't contain process arguments which however sometimes are very useful for debugging. The new 'a' modifier adds that capability. While here, remove 'm' modifier from ddb.4. It was in the manual page from its very first revision, but I could not find any evidence of the code ever supporting it. Submitted by: Terry Hu <thu@panzura.com> Reviewed by: kib MFC after: 1 week Sponsored by: Panzura Differential Revision: https://reviews.freebsd.org/D16603 Notes: svn path=/head/; revision=337528
* Extend show proc with reaper, sigparent, and vmspace informationBjoern A. Zeeb2018-05-251-0/+11
| | | | | | | | | I have regularly needed the last couple of months. Sponsored by: iXsystems, Inc. Notes: svn path=/head/; revision=334209
* Fix PPC symbol resolutionJustin Hibbits2018-05-102-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: There were 2 issues that were preventing correct symbol resolution on PowerPC/pseries: 1- memory corruption at chrp_attach() - this caused the inital part of the symbol table to become zeroed, which would cause the kernel linker to fail to parse it. (this was probably zeroing out other memory parts as well) 2- DDB symbol resolution wasn't working because symtab contained not relocated addresses but it was given relocated offsets. Although relocating the symbol table fixed this, it broke the linker, that already handled this case. Thus, the fix for this consists in adding a new DDB macro: DB_STOFFS(offs) that converts a (potentially) relocated offset into one that can be compared with symbol table values. PR: 227093 Submitted by: Leandro Lupori <leandro.lupori_gmail.com> Differential Revision: https://reviews.freebsd.org/D15372 Notes: svn path=/head/; revision=333447
* Restore db_radix on parse error, otherwise we'll silently change it toWarner Losh2018-04-171-0/+1
| | | | | | | 10 on a botched trace command. Notes: svn path=/head/; revision=332648
* No need to force md code to define a macro that's the same asWarner Losh2018-04-161-8/+5
| | | | | | | _BYTE_ORDER. Use that instead. Notes: svn path=/head/; revision=332563
* db_script_exec: use a saved script name when reporting commands executedAndriy Gapon2018-03-041-1/+1
| | | | | | | | | | | | | | | | | | | | Before executing a command in a ddb script ddb prints an information line of the form: db:1:my-script> command where 1 is the script's depth level, "my-script" is the scipt's name, and "command" is the current command in the script. db_script_exec() uses its 'scriptname' parameter to produce that string. In the case when db_script_exec() is called from db_run_cmd() the argument points to db_tok_string that is a global variable used for command parsing. So, its value changes with every command executed. This commit changes the code to use the script's name stored in ds_scriptname to print the line. MFC after: 2 weeks Notes: svn path=/head/; revision=330374
* Implement 'domainset', a cpuset based NUMA policy mechanism. This allowsJeff Roberson2018-01-121-0/+1
| | | | | | | | | | | | | | | | | | | userspace to control NUMA policy administratively and programmatically. Implement domainset based iterators in the page layer. Remove the now legacy numa_* syscalls. Cleanup some header polution created by having seq.h in proc.h. Reviewed by: markj, kib Discussed with: alc Tested by: pho Sponsored by: Netflix, Dell/EMC Isilon Differential Revision: https://reviews.freebsd.org/D13403 Notes: svn path=/head/; revision=327895
* Generalize the gzio API.Mark Johnston2018-01-081-3/+3
| | | | | | | | | | | | | | | | | | | We currently use a set of subroutines in kern_gzio.c to perform compression of user and kernel core dumps. In the interest of adding support for other compression algorithms (zstd) in this role without complicating the API consumers, add a simple compressor API which can be used to select an algorithm. Also change the (non-default) GZIO kernel option to not enable compressed user cores by default. It's not clear that such a default would be desirable with support for multiple algorithms implemented, and it's inconsistent in that it isn't applied to kernel dumps. Reviewed by: cem Differential Revision: https://reviews.freebsd.org/D13632 Notes: svn path=/head/; revision=327707
* ddb: fix validation of cpu id in 'set db_cpu=x'Andriy Gapon2017-12-051-2/+2
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=326567