- 15 Dec, 2019 8 commits
-
-
Jeff Roberson authored
on a pagequeue. Reported by: pho
-
Kyle Evans authored
This #ifdef is misleading as there are actually no user-serviceable parts inside and, as far as I can tell, there is no pollution leading from userland to this header. Furthermore, it becomes a slight nuisance when attempting to move things around in this header.
-
Jeff Roberson authored
that if fault fails to progress and needs to restart the loop it must free the page it is working on and allocate again on restart. Resolve the few places that need to be modified to support this condition and simply deactivate the page. Presently, we only permit this when fault restarts for busy contention. This has an added benefit of removing some object trylocking in this case. While here consolidate some page cleanup logic into fault_page_free() and fault_page_release() to reduce redundant code and automate some teardown. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D22653
-
Jeff Roberson authored
an exclusive object lock. Previously swap space was freed on a best effort basis when a page that had valid swap was dirtied, thus invalidating the swap copy. This may be done inconsistently and requires the object lock which is not always convenient. Instead, track when swap space is present. The first dirty is responsible for deleting space or setting PGA_SWAP_FREE which will trigger background scans to free the swap space. Simplify the locking in vm_fault_dirty() now that we can reliably identify the first dirty. Discussed with: alc, kib, markj Differential Revision: https://reviews.freebsd.org/D22654
-
Jeff Roberson authored
require the object lock to synchronize collapse. Other swap objects such as tmpfs do not. Reported by: mjg Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D22747
-
Jeff Roberson authored
exec_map_first_page(). This will also enable pagein clustering for other interested consumers (tmpfs, md, etc). Discussed with: alc Approved by: kib Differential Revision: https://reviews.freebsd.org/D22731
-
Pedro F. Giffuni authored
The message argument in the "deprecated" attribute was introduced in GCC 4.5 *. Use the accurate version number for consistency, as done already with other attributes. * https://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/Function-Attributes.html
-
Kyle Evans authored
This bit is already inside of a larger __BSD_VISIBLE block. Reported by: vangyzen
-
- 14 Dec, 2019 15 commits
-
-
Conrad Meyer authored
Probably all of these linuxkpi stubs should be '#ifndef' guarded, but maybe that would prevent people from noticing when they are defined. Introduced in r355759. For some reason I only ran a buildworld and not a kernel. Mea culpa. Reported by: Mark Millard X-MFC-with: r355759
-
Conrad Meyer authored
The legacy version of GCC4 currently in base does not support the parameterized form of this function attribute, as recent introduced in stdlib.h (r355747). As we have done for other function attributes with similar compatibility problems, add a version-compatibile definition in sys/cdefs.h. Note that Clang defines itself to be GCC 4, so one must check for __clang__ in addition to __GNUC__ version. On legacy GCC 4, the macro expands to just the __deprecated__ attribute; on modern GCC or Clang, the macro expands to the parameterized variant with the message. Ignoring legacy or unsupported compilers, the macro is also beneficial in that it is a bit more ergonomic than the full __attribute__((__deprecated__())) boilerplate. Reported by: CI (but not tinderbox); imp and others Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D22817
-
Rick Macklem authored
r355677 added NFSv4.2 support to the NFS client. This patch updates the mount_nfs.8 man page to reflect that. It also clarifies that the "nolockd" option does not apply to NFSv4 mounts. This is a content change.
-
Doug Moore authored
bits, by storing and modifying the complement of the original leaf mask, and by avoiding some unnecessary intermediate variables in computing the shift amounts. The logic is similar to what has recently been committed to sys/sys/bitstring.h. Compute better hint updates for the case when the cursor starts in mid-leaf, and eliminates some otherwise viable solutions. Assume the worst case, that all the eliminated offsets could have been solutions, and you can still compute a better hint than we use now. Eliminate some unnecessary conditional control flow. Approved by: alc Tested by: pho Differential Revision: https://reviews.freebsd.org/D22666
-
Michal Meloun authored
Unfortunately, there are some limitations: - memory aperture of his controller is only 16MiB, so it is nearly unusable for graphic cards - every attempt to generate type 1 config cycle always causes trap. These config cycles are disabled now and we don't support cards with PCIe switch. - in some cases, attempt to do config cycle to (probably) not-yet ready card also causes trap. This cannot be detected at runtime, but it seems like very rare issue. MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D22724
-
Edward Tomasz Napierala authored
over the usual fsync(2). This silences some warnings when running "apt-get upgrade". Reviewed by: brooks, emaste MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D22371
-
Edward Tomasz Napierala authored
MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D22371
-
Edward Tomasz Napierala authored
Reviewed by: brooks, emaste MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D22371
-
Edward Tomasz Napierala authored
in a user-friendly way. Reviewed by: allanjude, bcr (manpages) MFC after: 2 weeks Relnotes: yes Sponsored by: Klara Inc. Differential Revision: https://reviews.freebsd.org/D22567
-
Edward Tomasz Napierala authored
statistics obtained with stats(3) in JSON format to standard error. Reviewed by: allanjude, thj, cem (earlier version) Tested by: thj MFC after: 2 weeks Relnotes: yes Sponsored by: Klara Inc. Differential Revision: https://reviews.freebsd.org/D21324
-
Conrad Meyer authored
It serves no useful purpose and wasn't as popular as its equally meritless cousin, srandomdev(3). Setting aside the problems with rand(3) in general, the problem with this interface is that the seed isn't shared with the caller (other than by attacking the output of the generator, which is trivial, but not a hallmark of pleasant API design). The (arguable) utility of rand(3) or random(3) is as a semi-fast simulation generator which produces consistent results from a given seed. These are mutually at odd. Furthermore, sometimes people got the mistaken impression that a high quality random seed meant a weak generator like rand(3) or random(3) could be used for things like cryptographic key generation. This is absolutely not so. The API was never part of a standard and was not widely used in tree. Existing in-tree uses have all been removed. Possible replacement in out of tree codebases: char buf[3]; time_t t; time(t); strftime(buf, sizeof(buf), "%S", gmtime(&t)); srand(atoi(buf)); Relnotes: yes
-
Ryan Libby authored
Recently (r355315) the size of the struct uma_slab bitset field us_free became dynamic instead of conservative. Now, make the debug bitset size dynamic too. The debug bitset is INVARIANTS-only, so in fact we don't care too much about the space savings that results from this, but enabling minimally-sized slabs on INVARIANTS builds is still important in order to be able to test new slab layouts effectively. Reviewed by: jeff (previous version), markj (previous version) Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D22759
-
Kristof Provost authored
There's no reason for this to be a tunable. It's perfectly safe to change this at runtime. Reviewed by: Lutz Donnerhacke Differential Revision: https://reviews.freebsd.org/D22737
-
Kristof Provost authored
Warn users when they try to add/delete/modify more items than the kernel will allow. Reviewed by: allanjude (previous version), Lutz Donnerhacke Differential Revision: https://reviews.freebsd.org/D22733
-
Mateusz Guzik authored
-
- 13 Dec, 2019 17 commits
-
-
Scott Long authored
Parse out the VSEC. If the user invokes a second -c command line option, do a hex dump of the vendor data. Reviewed by: imp MFC after: 3 days Sponsored by: Intel Differential Revision: http://reviews.freebsd.org/D22808
-
John Baldwin authored
Reviewed by: np Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D22483
-
Jung-uk Kim authored
Merge ACPICA 20191213.
-
Ian Lepore authored
-
Warner Losh authored
Document the common practices around copyrights with "all rights reserved" in them as new copyright notices get added. It's an open question qhether to point people at the fact that since the Berne convention was ratified, All rights reserved is largely obsolete. https://en.wikipedia.org/wiki/All_rights_reserved#Obsolescence has the details. The committer's guide will be revised shortly, and it's likely that's a better place for this discussion. If not, I'll add a blurb here. Reviewed by: jhb@, brooks@ Differential Review: https://reviews.freebsd.org/D22800
-
Andriy Gapon authored
Instead of passing NULL to fzap_name_equal and crashing, just return ENOENT. This happened when higher bits of a hash of the searched key (its hash prefix) matched a hash prefix of some key in the ZAP, but the full hash value of the searched key did not match any key in the ZAP. I observerved this problem when loader tried to look up "features_for_read" in a particular old pool that predates pool features. MFC after: 2 weeks Sponsored by: Panzura
-
Warner Losh authored
Most places checked, but a couple last minute changes didn't. Make them all use the return value. Noticed by: rpokala@
-
Warner Losh authored
Contractions cause problems for translators, so s/aren't/are not/ in the one place this slipped through. While here, noticed I commited with the date I did the work, not today's date. Fix that too. Noticed by: bjk@
-
Rick Macklem authored
None of these case were actually using the variable(s) uninitialized, but I figured that silencing the warnings via initializing them made sense. Some of these predated r355677.
-
John Baldwin authored
All in-tree consumers have been converted to callout(9). Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D22602
-
Navdeep Parhar authored
CPL_TX_PKT_XT disables the internal parser on the chip and instead relies on the driver to provide the exact length of the L2 and L3 headers. This allows hw checksumming and TSO to be used with L2 and L3 encapsulations that the chip doesn't understand directly. Note that netmap tx still uses the old CPL as it never uses the hw to generate the checksum on tx. Reviewed by: jhb@ MFC after: 1 month Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D22788
-
Brandon Bergren authored
The settings in arith.h were not fully defined on powerpc64 after the gdtoa switchover. Generate them using arithchk.c, similar to what AMD64 did for r114814. Technically, none of this is necessary in FreeBSD gdtoa, but since the other platforms have full definitions, we might as well have full definitions too. Approved by: jhibbits (in irc) Differential Revision: https://reviews.freebsd.org/D22775
-
John Baldwin authored
Reviewed by: imp Tested by: Scott Benesh Differential Revision: https://reviews.freebsd.org/D22598
-
Warner Losh authored
Delay the attachment of children, when requested, until after interrutps are running. This is often needed to allow children to run transactions on i2c or spi busses. It's a common enough idiom that it will be useful to have its own wrapper. Reviewed by: ian Differential Revision: https://reviews.freebsd.org/D21465
-
John Baldwin authored
Reviewed by: avg Differential Revision: https://reviews.freebsd.org/D22597
-
John Baldwin authored
Allocate the callout structure on-demand from fail_point_use_timeout_path() since most fail points do not use timeouts. Reviewed by: markj (earlier version), cem Differential Revision: https://reviews.freebsd.org/D22599
-
John Baldwin authored
- Allow the userland hypervisor to intercept breakpoint exceptions (BP#) in the guest. A new capability (VM_CAP_BPT_EXIT) is used to enable this feature. These exceptions are reported to userland via a new VM_EXITCODE_BPT that includes the length of the original breakpoint instruction. If userland wishes to pass the exception through to the guest, it must be explicitly re-injected via vm_inject_exception(). - Export VMCS_ENTRY_INST_LENGTH as a VM_REG_GUEST_ENTRY_INST_LENGTH pseudo-register. Injecting a BP# on Intel requires setting this to the length of the breakpoint instruction. AMD SVM currently ignores writes to this register (but reports success) and fails to read it. - Rework the per-vCPU state tracked by the debug server. Rather than a single 'stepping_vcpu' global, add a structure for each vCPU that tracks state about that vCPU ('stepping', 'stepped', and 'hit_swbreak'). A global 'stopped_vcpu' tracks which vCPU is currently reporting an event. Event handlers for MTRAP and breakpoint exits loop until the associated event is reported to the debugger. Breakpoint events are discarded if the breakpoint is not present when a vCPU resumes in the breakpoint handler to retry submitting the breakpoint event. - Maintain a linked-list of active breakpoints in response to the GDB 'Z0' and 'z0' packets. Reviewed by: markj (earlier version) MFC after: 2 months Differential Revision: https://reviews.freebsd.org/D20309
-