aboutsummaryrefslogtreecommitdiff
path: root/cddl/contrib/opensolaris/cmd/lockstat/sym.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge OpenZFS support in to HEAD.Matt Macy2020-08-251-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The primary benefit is maintaining a completely shared code base with the community allowing FreeBSD to receive new features sooner and with less effort. I would advise against doing 'zpool upgrade' or creating indispensable pools using new features until this change has had a month+ to soak. Work on merging FreeBSD support in to what was at the time "ZFS on Linux" began in August 2018. I first publicly proposed transitioning FreeBSD to (new) OpenZFS on December 18th, 2018. FreeBSD support in OpenZFS was finally completed in December 2019. A CFT for downstreaming OpenZFS support in to FreeBSD was first issued on July 8th. All issues that were reported have been addressed or, for a couple of less critical matters there are pull requests in progress with OpenZFS. iXsystems has tested and dogfooded extensively internally. The TrueNAS 12 release is based on OpenZFS with some additional features that have not yet made it upstream. Improvements include: project quotas, encrypted datasets, allocation classes, vectorized raidz, vectorized checksums, various command line improvements, zstd compression. Thanks to those who have helped along the way: Ryan Moeller, Allan Jude, Zack Welch, and many others. Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D25872 Notes: svn path=/head/; revision=364746
* Rework and simplify the ksyms(4) implementation.Mark Johnston2017-08-031-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | - Store the symbol table contents in an anonymous swap-backed object. Have mmap(/dev/ksyms) map that object, and stop mapping the symbol table into the calling process in ksyms_open(). Previously we would cache a pointer to the pmap of the opening process, and mmap(/dev/ksyms) would create a mapping using the physical address found by a pmap lookup at the initial mapping address. However, this assumes that the cached pmap is valid, which may not be the case. [1] - Remove the ksyms ioctl interface. It appears to have been added to work around a limitation in libelf that no longer exists; see r321842. Moreover, the interface is difficult to support and isn't present in illumos. Since ksyms was added specifically to support lockstat(1), it is expected that this removal won't have any real impact. - Simplify ksyms_read() to avoid unnecessary copying. - Don't call the device handle destructor if we fail to capture a snapshot of the kernel's symbol table. devfs will do that for us. Reported by: Ilja van Sprundel <ivansprundel@ioactive.com> [1] Reviewed by: kib (previous revision) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D11789 Notes: svn path=/head/; revision=321963
* Remove local variables missed in r321842.Mark Johnston2017-08-011-4/+0
| | | | | | | X-MFC with: r321842 Notes: svn path=/head/; revision=321843
* Let lockstat use ksyms(4)'s mmap interface.Mark Johnston2017-08-011-24/+0
| | | | | | | | | The workaround described in the deleted comment is no longer needed. MFC after: 1 week Notes: svn path=/head/; revision=321842
* Mechanically convert cddl sun #ifdef's to illumosSteven Hartland2015-01-171-11/+8
| | | | | | | | | | | | | | | Since the upstream for cddl code is now illumos not sun, mechanically convert all sun #ifdef's to illumos #ifdef's which have been used in all newer code for some time. Also do a manual pass to correct the use if #ifdef comments as per style(9) as well as few uses of #if defined(__FreeBSD__) vs #ifndef illumos. MFC after: 1 month Sponsored by: Multiplay Notes: svn path=/head/; revision=277300
* Include two headers to provide prototype for modfind(2) and kldload(2).Xin LI2014-08-211-0/+3
| | | | | | | MFC after: 2 weeks Notes: svn path=/head/; revision=270315
* If the initial attempt to open /dev/ksyms fails, kldload the ksyms moduleMark Johnston2013-10-271-0/+11
| | | | | | | and retry. Notes: svn path=/head/; revision=257213
* Add the OpenSolaris lockstat(1M) command. Requires the dtrace driver,Stacey Son2009-05-271-0/+311
the lockstat provider, and the ksyms(4) pseudo driver kernel modules. Approved by: gnn (mentor) Notes: svn path=/head/; revision=192867