summaryrefslogtreecommitdiffstats
path: root/sys (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add a barrier after arming a completion queue. If multiple cqs are usingjmatthew2019-06-141-2/+3
| | | | | the same uar page, these writes could be combined, which would result in a queue not being armed.
* Use PWAIT instead of PUSER in exit1().mpi2019-06-131-2/+2
| | | | | | | | When the main thread of a MT process dies, it doesn't matter at which priority it gets awaken to do the lasts cleanups. Not using PUSER makes it easier to understand the existing scheduler logic. ok visa@
* free(9) sizes for buffers.mpi2019-06-131-4/+4
| | | | ok anton@, sashan@
* free(9) sizes.mpi2019-06-131-4/+3
| | | | ok kn@
* Do not consider the pipe as halted if the device is gone.mpi2019-06-131-1/+3
| | | | Analysed by and ok claudio@
* When tcp_close() is running in parallel with fill_file(), the kernelbluhm2019-06-131-2/+17
| | | | | | | could crash due to missing inp_ppcb. This happend when fstat(1) was called often and TCP was aborted with reset. Protect the sysctl path with the net lock. OK mpi@
* In arp_rtrequest and nd6_rtrequest return early if the RTF_MPLS flag isclaudio2019-06-132-4/+5
| | | | | | | | set. These mpls routes use the rt_llinfo structure to store the MPLS label and would confuse the arp and nd6 code. OK bluhm@ anton@ Reported-by: syzbot+927e93a362f3ae33dd9c@syzkaller.appspotmail.com
* Copy the user provided sockaddr into a normalized sockaddr in rtrequest()claudio2019-06-135-20/+67
| | | | | | | | | | before adding it to the routing table. The rtable code is doing memcmp() of those rt_dest sockaddrs so it is important that they are stored in a canonical form. To do this struct domain is extended to include the sockaddr size for this address family. OK bluhm@ anton@ Reported-by: syzbot+10fe9cd8d0211c562ead@syzkaller.appspotmail.com
* vmm(4): Pass through CPUID function/leaf 0x16 for processor speed.mlarkin2019-06-131-8/+6
| | | | ok deraadt, pd, phessler
* the rx drops field is 8 bits (and a 24 bit flow tag), not 32 bits.dlg2019-06-131-2/+3
| | | | sympathy from jmatthew@
* Set interrupt moderation on the completion queue for around 10000jmatthew2019-06-121-2/+8
| | | | | | interrupts per second, or 90% of the cq size. ok dlg@
* Remove unused scheduler related definitions.mpi2019-06-115-19/+5
| | | | ok visa@
* drm: don't block fb changes for async plane updatesjsg2019-06-112-10/+20
| | | | | | From Helen Koike fbb7e114e6e690c46f170dedd6fd2fb22f241519 in linux 4.19.y/4.19.50 89a4aac0ab0e6f5eea10d7bf4869dd15c3de2cd4 in mainline linux
* drm/i915: Maintain consistent documentation subsection orderingjsg2019-06-112-4/+4
| | | | | | From Jonathan Corbet 6600ec2600d63868efa8c6641375451677469b24 in linux 4.19.y/4.19.50 551bd3368a7b3cfef01edaade8970948d178d40a in mainline linux
* drm/i915/fbc: disable framebuffer compression on GeminiLakejsg2019-06-111-0/+4
| | | | | | From Daniel Drake 360e00e290a355219425b5ea0ca62d9df3261fa1 in linux 4.19.y/4.19.50 396dd8143bdd94bd1c358a228a631c8c895a1126 in mainline linux
* drm/amdgpu: remove ATPX_DGPU_REQ_POWER_FOR_DISPLAYS check when hotplug-injsg2019-06-111-2/+1
| | | | | | From Aaron Liu f3dcc88d531fd21af0c4261896eb23b455499366 in linux 4.19.y/4.19.50 bdb1ccb080dafc1b4224873a5b759ff85a7d1c10 in mainline linux
* drm/radeon: prefer lower reference dividersjsg2019-06-111-2/+2
| | | | | | From Christian Koenig 84c82ab8f133f1c1e27f6b1bafe3f7d8835acc4c in linux 4.19.y/4.19.50 2e26ccb119bde03584be53406bbd22e711b0d6e6 in mainline linux
* drm/amdgpu/psp: move psp version specific function pointers to early_initjsg2019-06-111-9/+10
| | | | | | From Alex Deucher 748a97ec6c1588e3a49e09fe9ca56dcdb7f976b5 in linux 4.19.y/4.19.50 9d6fea5744d6798353f37ac42a8a653a2607ca69 in mainline linux
* drm: add non-desktop quirks to Sensics and OSVR headsets.jsg2019-06-111-0/+6
| | | | | | From Ryan Pavlik 98a8cb0282ab22d0533de34412f2118bf21147e4 in linux 4.19.y/4.19.50 29054230f3e11ea818eccfa7bb4e4b3e89544164 in mainline linux
* drm: add non-desktop quirk for Valve HMDsjsg2019-06-111-0/+19
| | | | | | From Andres Rodriguez 490290b0415f069eb156db50d165ca6a407d47bc in linux 4.19.y/4.19.50 30d62d4453e49f85dd17b2ba60bbb68b6593dba0 in mainline linux
* Use km_alloc() instead of mallocarray() when allocating ttm dma segmentsjsg2019-06-111-7/+10
| | | | to avoid running out of kmem space. Suggested by and ok kettenis@
* pass what pci_intr_established returns to intr_barrierdlg2019-06-111-2/+2
| | | | | | | | passing a pointer to a pci_intr_handle_t doesnt work too well on sparc64, where it faults in the guts of the scheduler. dunno why amd64 is fine. ok jmatthew@
* if ifiq_input says there's too much pressure, tell the rxr we're livelockeddlg2019-06-111-3/+4
| | | | ok jmatthew@
* bump up the ring sizes for dlg@jmatthew2019-06-111-4/+4
|
* records a flowid in the mbuf if the rx cqe provides an rx hash value.dlg2019-06-111-1/+6
| | | | | jmatthew@ says we need to configure the hw to populate that, but i can put this in now in preparation for it.
* add mcx now that pyro and sparc64 can do msi-xdlg2019-06-111-1/+2
| | | | ok jmatthew@
* implement msi-x support on sparc64.dlg2019-06-114-20/+126
| | | | | | | | | | | | | | | | | | | | | | | | this is mostly based on the stuff kettenis did on arm64 recently. msix support is basically the same as msi support from the host side, you just have to tell the actual device about the msi vectors differently. the most complicated part of this is storing the requested msix vector between the call to pci_intr_map_msix and pci_intr_establish. the pci_intr_handle_t for storing state between those is a scalar type, so we reassign some bits in that int for use storing the type of int (intx, msi, or msix) and the vector. i took the low 8 bits for storing the vector, which gives us a max of 256 values. technically msix supports up to 2048 vectors, but pyro only supports 256 in total, so i don't think we're going to miss out on much. vpci may support more, but we'll cross that bridge when we get to it. i tested pyro(4) with mcx(4). vpci was tested by kettenis@ ok kettenis@
* use m_microtime to get the packet rx time it might be available.dlg2019-06-101-3/+9
|
* use m_microtime instead of microtime for SO_TIMESTAMP socketopt handlingdlg2019-06-102-4/+4
| | | | | | drivers can set ph_timestamp when packets are received by the hardware, which should be more accurate and cheaper than getting the clock when the packet is queued on the socket.
* add m_microtime for getting the wall clock time associated with a packetdlg2019-06-102-2/+17
| | | | | if the packet has the M_TIMESTAMP csum_flag, ph_timestamp is added to the boottime clock, otherwise it just uses microtime().
* NSEC_TO_TIMEVAL turns nanoseconds in a uint64_t into a struct timevaldlg2019-06-101-1/+15
| | | | | | add NSEC_TO_TIMESPEC while here ok cheloha@
* support hardware timestamping for received packets.dlg2019-06-101-4/+121
| | | | | | | | | | | | | | the chip has a cycle counter or something, and the value of the counter when the packet is sent to the host is stored in the completion queue entry. the driver periodically checks the cycle counter and records the time at that point, so the rx path can do some maths to figure out what the clock time is for the cycle counter. if the driver is calibrated with the chips counter, the rx packets are timestamped. this is based on the changes made to freebsd, but with some simplifications.
* add M_TIMESTAMP as a csum_flags option to say ph_timestamp is setdlg2019-06-101-2/+3
| | | | | | | | | this is so hardware that supports timestamping can set the time and say so for things like bpf and the SO_TIMESTAMP socket option to use. the intention is that ph_timestamp will store the nanosecond since the system booted, which is in line with how fq_codel (the only user of the field at the moment) uses it.
* don't allow userland to change if_type.dlg2019-06-101-2/+3
| | | | | | if_type is now immutable in tun(4) and tap(4) ok claudio@ mpi@
* Revised version of 'ifconfig mode' command fix.stsp2019-06-102-41/+51
| | | | | | | | | | The 'mode' command is supposed to force a wireless interface into 11a/b/g/n media mode. This stopped working some time ago, probably during my work on background scanning. Problem spotted by mlarkin@ who noticed that interfaces were using 11g mode while forced to 11b mode. ok phessler, jmatthew (earlier version) relentless testing by krw@
* Use mallocarray(9) & put some free(9) sizes for M_IPMOPTS allocations.mpi2019-06-105-29/+27
| | | | ok semarie@, visa@
* Use PWAIT instead of PUSER in tsleep(9).mpi2019-06-101-2/+2
| | | | | | | It doesn't matter in this case and reducing the number of PUSER makes the scheduler logic easier to understand. ok kettenis@, visa@
* Print proper ACPI version number.kettenis2019-06-103-11/+14
| | | | ok mlarkin@
* drm/lease: Make sure implicit planes are leasedjsg2019-06-102-0/+12
| | | | | | From Daniel Vetter 390a0fd31b02f2f7086af2f3bdb8ae576b9a4b84 in linux 4.19.y/4.19.49 204f640da6914844b3270b41b29c84f6e3b74083 in mainline linux
* Avoid changing resource limits in rucheck() by introducing a new statevisa2019-06-102-9/+12
| | | | | | | variable that tracks when to send next SIGXCPU. This eases MP work and prevents accidental alteration of shared resource limit structs. OK mpi@ semarie@
* Always return EEXIST if an interface is already part of a bridge.mpi2019-06-091-2/+5
|
* Remove code for non-Ethernet members, these are no longer supported.mpi2019-06-091-15/+11
| | | | From Eygene Ryabinkin.
* Add a temporary workaround to make removal of giant files betterbeck2019-06-091-1/+18
| | | | | | | | | | | | mlarkin@ noticed we would freeze while removing enormous files because of the amount of work done to invalidate buffers on unlink. This adds a temporary workaround to ensure we give up the lock and yield while doing this. The longer term answer will be to move these buffers to another list and not do the work here. ok deraadt@
* Let drm(4) allocate memory without constraints if the hardware supportskettenis2019-06-093-17/+27
| | | | | | | | | 64-bit DMA. Should reduce the pressure on DMA-reachable memory, which is important since there are still cases where the pagedaemon ends up being triggered continuously if we run out of DMA-reachable memory but have plenty of memory left. ok jsg@
* Allow memory that isn't (32-bit) DMA reachable when loading a map that waskettenis2019-06-091-3/+5
| | | | | | created with the BUS_DMA_64BIT flag. ok jsg@
* When establishing the mapping between ACPI device nodes and PCI devices,kettenis2019-06-081-1/+6
| | | | | | skip PCI host bridges and devices that aren't there. ok patrick@
* disambiguate memory extent conflicts for membars and rom addressesdlg2019-06-081-2/+2
| | | | | | there's some more work to do in this space, but this helps us start. ok kettenis@
* Update Spleen kernel fonts to the latest released version, bringingfcambus2019-06-085-193/+193
| | | | | | | | | | | | | | | the following improvements: - Shift the middle bar of the upper case 'G' one pixel down in the 12x24 version - Shift lower case 'k' character right, for better alignment in the 12x24, 16x32, and 32x64 versions - Make upper case 'X' thicker in the 16x32 and 32x64 versions - Make upper case 'V' thicker in the 32x64 version - Make lower case 'g' character smoother in the 16x32 and 32x64 versions - Add some artefacts on each side of the lower case 'i' characters OK kettenis@, naddy@, deraadt@
* When loading intel microcode in the non-efi case, error if the file isjsg2019-06-084-8/+8
| | | | | | | larger than 256KB not 128KB to cope with the 06-8e-09 microcode which is currently 193KB. Reported and tested by Paul de Weerd. Matches a diff from claudio@
* add ukspan(4), a driver for the Keyspan USA19HS USB serial adapterjcs2019-06-073-2/+603
| | | | written by Cody Cutler <ccutler at csail.mit.edu>