created | 2023-08-09T07:08:04Z |
---|---|
begin | 2022-11-01T00:00:00Z |
end | 2022-11-08T00:00:00Z |
path | src/sys |
commits | 50 |
date | 2022-11-01T01:01:14Z | |||
---|---|---|---|---|
author | cheloha | |||
files | src/sys/arch/amd64/amd64/Attic/vmm.c | log | diff | annotate |
message |
vmm(4): vcpu_reset_regs_svm: allow reads of MSR_HWCR, MSR_PSTATEDEF(0) Guests may need these MSRs to determine the TSC frequency on AMD families 17h and 19h. GP fault reported by weerd@, observed on "AMD EPYC 3201 8-Core Processor" (17-01-02). Same issue observed by Jesper Wallin on "AMD Ryzen PRO 3700U". Tested by Jesper Wallin. Link: https://marc.info/?l=openbsd-bugs&m=166721628323483&w=2 ok mlarkin@ |
date | 2022-11-01T13:59:00Z | |||
---|---|---|---|---|
author | kettenis | |||
files | src/sys/arch/amd64/isa/clock.c | log | diff | annotate |
src/sys/arch/i386/isa/clock.c | log | diff | annotate | |
message |
Use todr_attach(). ok phessler@ |
date | 2022-11-02T07:20:07Z | |||
---|---|---|---|---|
author | guenther | |||
files | src/sys/arch/alpha/alpha/trap.c | log | diff | annotate |
src/sys/arch/amd64/amd64/trap.c | log | diff | annotate | |
src/sys/arch/hppa/hppa/trap.c | log | diff | annotate | |
src/sys/arch/m88k/m88k/trap.c | log | diff | annotate | |
src/sys/arch/powerpc/powerpc/trap.c | log | diff | annotate | |
src/sys/kern/kern_fork.c | log | diff | annotate | |
message |
Clean up more ancient history: since 2015 the libc stubs for fork/vfork/__tfork haven't cared about the second return register. So, stop setting retval[1] in kern_fork.c and stop setting the second return register in the MD child_return() routines. With the above, we have no multi-register return values on LP64, so stop touching that register in the trapframe on those archs. testing miod@ and aoyama@ ok miod@ |
date | 2022-11-02T07:20:08Z | |||
---|---|---|---|---|
author | guenther | |||
files | src/sys/arch/arm64/arm64/syscall.c | log | diff | annotate |
src/sys/arch/mips64/mips64/trap.c | log | diff | annotate | |
src/sys/arch/powerpc64/powerpc64/syscall.c | log | diff | annotate | |
src/sys/arch/riscv64/riscv64/syscall.c | log | diff | annotate | |
src/sys/arch/sparc64/sparc64/trap.c | log | diff | annotate | |
message |
Clean up more ancient history: since 2015 the libc stubs for fork/vfork/__tfork haven't cared about the second return register. So, stop setting retval[1] in kern_fork.c and stop setting the second return register in the MD child_return() routines. With the above, we have no multi-register return values on LP64, so stop touching that register in the trapframe on those archs. testing miod@ and aoyama@ ok miod@ |
date | 2022-11-02T10:41:34Z | |||
---|---|---|---|---|
author | kn | |||
files | src/sys/arch/luna88k/cbus/nec86.c | log | diff | annotate |
src/sys/arch/luna88k/cbus/nec86hw.c | log | diff | annotate | |
src/sys/dev/audio.c | log | diff | annotate | |
src/sys/dev/audio_if.h | log | diff | annotate | |
src/sys/dev/isa/ess.c | log | diff | annotate | |
src/sys/dev/isa/gus.c | log | diff | annotate | |
src/sys/dev/isa/gusvar.h | log | diff | annotate | |
src/sys/dev/isa/pas.c | log | diff | annotate | |
src/sys/dev/isa/sb.c | log | diff | annotate | |
src/sys/dev/isa/sbdsp.c | log | diff | annotate | |
message |
Remove audio(9) speaker_ctl(), let open() handle speakers where needed Only five legacy half-duplex hardware drivers require this function to change between playing and recording: i386: ess(4), gus(4), pas(4), sb(4) luna88k: nec86(4) If defined, it is always called early in audio_open(), so just move the call from audio(4) to each hardware driver's open() handler. SPKR_ON/OFF remain defined to leave driver-specific code unchanged. Further cleanup (unchecked speaker_ctl() return values, FWRITE -> AUMODE_PLAY -> SPKR_ON dances, etc.) can happen later. Builds fine on i386. OK ratchov |
date | 2022-11-03T04:52:41Z | |||
---|---|---|---|---|
author | guenther | |||
files | src/sys/kern/kern_xxx.c | log | diff | annotate |
message |
Make scdebug_ret() behave like ktrsysret(), showing the off_t value for lseek() and a single register_t value for all others. ok miod@ |
date | 2022-11-03T04:56:47Z | |||
---|---|---|---|---|
author | guenther | |||
files | src/sys/dev/rnd.c | log | diff | annotate |
src/sys/kern/kern_exit.c | log | diff | annotate | |
message |
Style: always use *retval and never retval[0] in syscalls, to reflect that retval is just a single return value. ok miod@ |
date | 2022-11-03T17:41:22Z | |||
---|---|---|---|---|
author | patrick | |||
files | src/sys/arch/arm64/conf/RAMDISK | log | diff | annotate |
message |
Enable smbios0 on arm64 RAMDISK so the code mitigating crashes on the x13s gets correct info from hw.version. |
date | 2022-11-03T23:26:49Z | |||
---|---|---|---|---|
author | jca | |||
files | src/sys/arch/riscv64/riscv64/pmap.c | log | diff | annotate |
message |
Zap unused variable ok kettenis@ |
date | 2022-11-03T23:30:55Z | |||
---|---|---|---|---|
author | jca | |||
files | src/sys/arch/riscv64/riscv64/pmap.c | log | diff | annotate |
message |
riscv64 pmap: flush memory writes before remote sfence.vma As pointed out by the RISC-V privileged spec. Sadly this is not enough to solve all existing userland or kernel crashes seen on Unmatched (and possibly other?) machines. ok kettenis@ |
date | 2022-11-04T09:36:44Z | |||
---|---|---|---|---|
author | mpi | |||
files | src/sys/uvm/uvm_addr.c | log | diff | annotate |
src/sys/uvm/uvm_fault.c | log | diff | annotate | |
src/sys/uvm/uvm_map.c | log | diff | annotate | |
src/sys/uvm/uvm_map.h | log | diff | annotate | |
message |
Assert the VM map lock is held in function used by mmap/mprotect/munmap. Also grab the lock in uvm_map_teardown() and uvm_map_deallocate() to satisfy the assertions. Grabbing the lock there shouldn't be strictly necessary, because no other reference to the map should exist when the reaper is holding it, but it doesn't hurt and makes our life easier. Inputs & tests from Ivo van der Sangen, tb@, gnezdo@, kn@ kettenis@ and tb@ agree with the direction, ok kn@ |
date | 2022-11-04T16:49:31Z | |||
---|---|---|---|---|
author | kettenis | |||
files | src/sys/arch/amd64/amd64/efi_machdep.c | log | diff | annotate |
src/sys/arch/amd64/amd64/locore.S | log | diff | annotate | |
src/sys/arch/amd64/amd64/trap.c | log | diff | annotate | |
message |
EFI firmware has bugs which may mean that calling EFI runtime services will fault because it does memory accesses outside of the regions it told us to map. Try to mitigate this by installing a fault handler (using the pcb_onfault mechanism) and bail out using longjmp(9) if we encounter a page fault while executing an EFI runtime services call. Since some firmware bugs result in us executing code that isn't mapped, make kpageflttrap() handle execution faults as well as data faults. ok guenther@ |
date | 2022-11-05T00:12:39Z | |||
---|---|---|---|---|
author | jsg | |||
files | src/sys/dev/pci/azalia.c | log | diff | annotate |
message |
match on Intel 500 Series HD Audio (0x43c8) on a Lenovo ThinkPad P1 Gen 4, the audio device is subclass audio not hd audio, so azalia does not match reported by John Browning ok kettenis@ thfr@ |
date | 2022-11-05T10:31:16Z | |||
---|---|---|---|---|
author | deraadt | |||
files | src/sys/kern/exec_elf.c | log | diff | annotate |
message |
For textrel binaries, skipping immutability on text segments is not enough: It needs to be all non-writeable segments, which really means rodata. crt0 and ld.so will need to call mimmutable() later on these regions. ok kettenis |
date | 2022-11-05T16:23:02Z | |||
---|---|---|---|---|
author | cheloha | |||
files | src/sys/arch/powerpc64/include/timetc.h | log | diff | annotate |
src/sys/arch/powerpc64/powerpc64/clock.c | log | diff | annotate | |
message |
powerpc64: TimeBase: add userspace timecounting support Tested by gkoehler@. ok gkoehler@ |
date | 2022-11-05T18:56:09Z | |||
---|---|---|---|---|
author | patrick | |||
files | src/sys/arch/arm64/stand/efiboot/fdt.c | log | diff | annotate |
src/sys/arch/armv7/stand/efiboot/fdt.c | log | diff | annotate | |
src/sys/arch/riscv64/stand/efiboot/fdt.c | log | diff | annotate | |
message |
Make sure fdt_find_node() returns NULL if it can't find the requested node. ok kettenis@ |
date | 2022-11-05T18:58:24Z | |||
---|---|---|---|---|
author | patrick | |||
files | src/sys/arch/arm64/stand/efiboot/efiboot.c | log | diff | annotate |
message |
Activate the device tree we just loaded from disk. While this doesn't fix any current bug, it might catch issues in the future. ok kettenis@ |
date | 2022-11-05T19:00:31Z | |||
---|---|---|---|---|
author | patrick | |||
files | src/sys/arch/arm64/stand/efiboot/efiboot.c | log | diff | annotate |
message |
Not every device tree we're getting passed has an /aliases or /chosen node, but our code assumes so. It's useful to have them, so create them if they do not exist. ok kettenis@ |
date | 2022-11-05T19:01:51Z | |||
---|---|---|---|---|
author | patrick | |||
files | src/sys/arch/arm64/stand/efiboot/conf.c | log | diff | annotate |
message |
Bump version number so that it's easier to see if the running version has the bugfixes in. ok kettenis@ |
date | 2022-11-05T19:29:45Z | |||
---|---|---|---|---|
author | cheloha | |||
files | src/sys/conf/files | log | diff | annotate |
src/sys/ddb/db_command.c | log | diff | annotate | |
src/sys/ddb/db_interface.h | log | diff | annotate | |
message |
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@ |
date | 2022-11-05T19:29:46Z | |||
---|---|---|---|---|
author | cheloha | |||
files | src/sys/kern/kern_clockintr.c | log | diff | annotate |
src/sys/kern/kern_sysctl.c | log | diff | annotate | |
src/sys/kern/subr_suspend.c | log | diff | annotate | |
src/sys/sys/clockintr.h | log | diff | annotate | |
src/sys/sys/sysctl.h | log | diff | annotate | |
message |
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@ |
date | 2022-11-05T22:33:11Z | |||
---|---|---|---|---|
author | jan | |||
files | src/sys/net/if_pfsync.c | log | diff | annotate |
src/sys/netinet/ip_ipsp.c | log | diff | annotate | |
message |
Fix kernel build without IPSEC option. ok deraadt@ |
date | 2022-11-06T11:44:30Z | |||
---|---|---|---|---|
author | kettenis | |||
files | src/sys/arch/arm64/arm64/support.S | log | diff | annotate |
src/sys/arch/arm64/arm64/trap.c | log | diff | annotate | |
src/sys/arch/arm64/conf/files.arm64 | log | diff | annotate | |
src/sys/arch/arm64/dev/efi_machdep.c | log | diff | annotate | |
message |
Make EFI runtime calls more robust on arm64 as well. While I have not seen any broken implementations yet, Linux developers claim that arm64 machines intended to run Windows are not much better than x86 machines. And I totally believe that. ok patrick@ |
date | 2022-11-06T12:01:52Z | |||
---|---|---|---|---|
author | patrick | |||
files | src/sys/arch/arm64/dev/simplebus.c | log | diff | annotate |
message |
While the Qualcomm GENI isn't just a simplebus(4), as one can e.g. select between DMA or FIFO mode for the i2c/serial devices, we can treat it as one for now. ok kettenis@ |
date | 2022-11-06T12:12:45Z | |||
---|---|---|---|---|
author | patrick | |||
files | src/sys/arch/arm64/conf/GENERIC | log | diff | annotate |
src/sys/arch/arm64/conf/RAMDISK | log | diff | annotate | |
src/sys/dev/fdt/files.fdt | log | diff | annotate | |
src/sys/dev/fdt/qcdwusb.c | log | diff | annotate | |
message |
Add glue for the USB3 controller on the Lenovo x13s. ok kettenis@ |
date | 2022-11-06T12:14:52Z | |||
---|---|---|---|---|
author | patrick | |||
files | src/sys/arch/arm64/dev/smmu_fdt.c | log | diff | annotate |
message |
Disable smmu(4) for Qualcomm SC8280XP on FDT attachment like we already do on ACPI. ok kettenis@ |
date | 2022-11-06T13:01:22Z | |||
---|---|---|---|---|
author | aoyama | |||
files | src/sys/arch/luna88k/dev/lunafb.c | log | diff | annotate |
src/sys/arch/luna88k/dev/omrasops.c | log | diff | annotate | |
message |
Change character drawing depth when 'pseudo' framebuffer depth is changed. Tested on LUNA-88K2 with 4bpp/8bpp framebuffer by me. |
date | 2022-11-06T13:03:52Z | |||
---|---|---|---|---|
author | dlg | |||
files | src/sys/net/pf_ioctl.c | log | diff | annotate |
src/sys/sys/conf.h | log | diff | annotate | |
message |
make /dev/pf a clonable device. this provides a 1:1 relationship of pfopen() calls to pfclose() calls. in turn, this makes it a lot easier to track stuff allocated by a process and then clean it up if that process goes away unexpectedly. the unique dev_t provided by the cloning machinery gives us a good identifier to track this state with too. discussed with h2k22 ok sashan@ deraadt@ agrees this is a good time to put this in |
date | 2022-11-06T15:33:58Z | |||
---|---|---|---|---|
author | patrick | |||
files | src/sys/arch/arm64/conf/GENERIC | log | diff | annotate |
src/sys/arch/arm64/conf/RAMDISK | log | diff | annotate | |
src/sys/conf/files | log | diff | annotate | |
src/sys/dev/acpi/files.acpi | log | diff | annotate | |
src/sys/dev/acpi/qcgpio.c | log | diff | annotate | |
src/sys/dev/fdt/files.fdt | log | diff | annotate | |
src/sys/dev/fdt/qcgpio_fdt.c | log | diff | annotate | |
message |
Add FDT-based attachment for qcgpio(4). ok kettenis@ |
date | 2022-11-06T15:36:13Z | |||
---|---|---|---|---|
author | patrick | |||
files | src/sys/arch/arm64/conf/GENERIC | log | diff | annotate |
src/sys/arch/arm64/conf/RAMDISK | log | diff | annotate | |
src/sys/conf/files | log | diff | annotate | |
src/sys/dev/acpi/files.acpi | log | diff | annotate | |
src/sys/dev/acpi/qciic.c | log | diff | annotate | |
src/sys/dev/fdt/files.fdt | log | diff | annotate | |
src/sys/dev/fdt/qciic_fdt.c | log | diff | annotate | |
message |
Add FDT-based attachment for qciic(4). ok kettenis@ |
date | 2022-11-06T18:05:05Z | |||
---|---|---|---|---|
author | dlg | |||
files | src/sys/net/if_pfsync.c | log | diff | annotate |
src/sys/net/if_pfsync.h | log | diff | annotate | |
src/sys/net/pf.c | log | diff | annotate | |
src/sys/net/pf_ioctl.c | log | diff | annotate | |
src/sys/net/pf_norm.c | log | diff | annotate | |
src/sys/net/pfvar.h | log | diff | annotate | |
message |
move pfsync_state_import in if_pfsync.c to pf_state_import in pf.c this is straightening the deck chairs. the state import and export code are used by both the pf ioctls and pfsync, but the export code is in pf.c and the import code is in if_pfsync. if pfsync was disabled then the ioctl stuff wouldnt link. moving the import code to pf.c makes it more symmetrical(?) and robust. tweaks and ok from kn@ sashan@ |
date | 2022-11-06T18:17:56Z | |||
---|---|---|---|---|
author | mbuhl | |||
files | src/sys/dev/pci/if_em.c | log | diff | annotate |
src/sys/dev/pci/if_em_hw.h | log | diff | annotate | |
message |
Enable IPv4, TCP, and UDP checksum offloading, and VLAN HW tagging for em 82575, 82576, i350, and i210. Additional testing by Hrvoje Popovski OK dlg@ |
date | 2022-11-06T19:00:37Z | |||
---|---|---|---|---|
author | dv | |||
files | src/sys/arch/amd64/amd64/Attic/vmm.c | log | diff | annotate |
message |
vmm(4): allocate reference for vm and vcpu SLISTs Mischa Peters reported a performance regression in 7.2 when hosting numerous guests under vmm(4). While iterating through the list of vms during servicing an ioctl, vmm was triggering excessive wakeup calls due to hitting zero refcnt. Much guidance from dlg@ and testing from Mischa. OK mlarkin@. |
date | 2022-11-06T21:31:24Z | |||
---|---|---|---|---|
author | dlg | |||
files | src/sys/net/if_pfsync.c | log | diff | annotate |
message |
get rid of pfsync_state_export. it wraps pf_state_export and has the same arguments and return type. pfsync can just call pf_state_export instead. ok clang |
date | 2022-11-06T21:34:01Z | |||
---|---|---|---|---|
author | kn | |||
files | src/sys/net/if_pfsync.c | log | diff | annotate |
message | Constify pfsync_acts[]; OK dlg |
date | 2022-11-07T01:41:57Z | |||
---|---|---|---|---|
author | guenther | |||
files | src/sys/arch/amd64/amd64/copy.S | log | diff | annotate |
src/sys/arch/amd64/amd64/efi_machdep.c | log | diff | annotate | |
src/sys/arch/amd64/amd64/trap.c | log | diff | annotate | |
src/sys/arch/amd64/conf/ld.script | log | diff | annotate | |
message |
In kpageflttrap(), validate a non-NULL pcb_onfault against an array of permitted addresses, done via .nofault* sections that end up in the linked kernel's rodata. ok deraadt@ kettenis@ |
date | 2022-11-07T09:43:04Z | |||
---|---|---|---|---|
author | mpi | |||
files | src/sys/arch/arm64/arm64/db_interface.c | log | diff | annotate |
src/sys/arch/arm64/arm64/pmap.c | log | diff | annotate | |
src/sys/arch/arm64/arm64/trap.c | log | diff | annotate | |
src/sys/arch/arm64/include/pmap.h | log | diff | annotate | |
message |
Implement db_write_text/bytes() which add support for ddb(4)'s breakpoints. Based on a diff from gerhard@, ok kettenis@ |
date | 2022-11-07T10:21:17Z | |||
---|---|---|---|---|
author | krw | |||
files | src/sys/kern/subr_disk.c | log | diff | annotate |
message | Nuke last references to d_drivedata. |
date | 2022-11-07T10:33:22Z | |||
---|---|---|---|---|
author | krw | |||
files | src/sys/sys/disklabel.h | log | diff | annotate |
message |
Rename unreferenced field d_drivedata to smoke out any well hidden uses. |
date | 2022-11-07T10:45:39Z | |||
---|---|---|---|---|
author | kn | |||
files | src/sys/netinet6/nd6.c | log | diff | annotate |
message |
Run the ND6 expiry timer without kernel lock Added in 2017 to Reduce contention on the NET_LOCK() by moving the nd6 address expiration task to the `softnettq`. This should no longer be needed thanks to sys/net/if.c r1.652 in 2022: Activate parallel IP forwarding. Start 4 softnet tasks. Limit the usage to the number of CPUs. Nothing in nd6_expire() or nd6_expire_timer_update() requires protection by the kernel lock. The interface list and per-interface address lists remain protected by the net lock. Tests by Hrvoje OK mpi |
date | 2022-11-07T11:22:55Z | |||
---|---|---|---|---|
author | yasuoka | |||
files | src/sys/netinet/tcp_input.c | log | diff | annotate |
src/sys/netinet/tcp_output.c | log | diff | annotate | |
src/sys/netinet/tcp_subr.c | log | diff | annotate | |
src/sys/netinet/tcp_timer.c | log | diff | annotate | |
src/sys/netinet/tcp_timer.h | log | diff | annotate | |
src/sys/netinet/tcp_usrreq.c | log | diff | annotate | |
src/sys/netinet/tcp_var.h | log | diff | annotate | |
message |
Modify TCP receive buffer size auto scaling to use the smoothed RTT (SRTT) instead of the timestamp option. Since the timestamp option is disabled on some OSs (eg. Windows) or dropped by some firewalls/routers, in such a case the window size had been fixed at 16KB, this limits throughput at very low on high latency networks. Also replace "tcp_now" from 2HZ tick counter to binuptime in milliseconds to calculate the SRTT better. tested by krw matthieu jmatthew dlg djm stu stsp ok claudio |
date | 2022-11-07T12:29:12Z | |||
---|---|---|---|---|
author | dv | |||
files | src/sys/arch/amd64/amd64/Attic/vmm.c | log | diff | annotate |
message |
vmm(4): set RAX guest register state based on VMCB The read/write register routines for SVM didn't acknowledge RAX in the VMCB as the de facto RAX state. When writing gprs, vmm should update RAX in the VMCB. When reading, it should be setting the guest regs state based on the VMCB. Needed for proper mmio emulation in userland. ok mlarkin@ |
date | 2022-11-07T12:56:38Z | |||
---|---|---|---|---|
author | dlg | |||
files | src/sys/net/pf.c | log | diff | annotate |
src/sys/net/pf_ioctl.c | log | diff | annotate | |
src/sys/net/pfvar.h | log | diff | annotate | |
src/sys/net/pfvar_priv.h | log | diff | annotate | |
message |
move pf_purge out from under the kernel lock and avoid the hogging cpu this also avoids holding NET_LOCK too long. the main change is done by running the purge tasks in systqmp instead of systq. the pf state list was recently reworked so iteration over the state can be done without blocking insertions. however, scanning a lot of states can still take a lot of time, so this also makes the state list scanner yield if it has spent too much time running. the other purge tasks for source nodes, rules, and fragments have been moved to their own timeout/task pair to simplify the time accounting. in my environment, before this change pf purges often took 10 to 50ms. the softclock thread runs next to it often took a similar amount of time, presumably because they ended up spinning waiting for each other. after this change the pf_purges are more like 6 to 12ms, and dont block softclock. most of the variability in the runs now seems to come from contention on the net lock. tested by me sthen@ chris@ ok sashan@ kn@ claudio@ |
date | 2022-11-07T14:25:44Z | |||
---|---|---|---|---|
author | robert | |||
files | src/sys/kern/kern_sysctl.c | log | diff | annotate |
src/sys/kern/subr_autoconf.c | log | diff | annotate | |
src/sys/sys/sysctl.h | log | diff | annotate | |
message |
introduce a new kern.autoconf_serial sysctl that can be used by userland to monitor state changes of the kernel device tree input from dnd ok dlg@, deraadt@ |
date | 2022-11-07T16:35:11Z | |||
---|---|---|---|---|
author | dlg | |||
files | src/sys/net/pf.c | log | diff | annotate |
message |
revert "move pf_purge out from under the kernel lock". hrvoje popovski showed me pfsync blowing up with this. im backing it out quickly in case something else at the hackathon makes it harder to do later. kn@ agrees |
date | 2022-11-07T16:35:12Z | |||
---|---|---|---|---|
author | dlg | |||
files | src/sys/net/pf_ioctl.c | log | diff | annotate |
src/sys/net/pfvar.h | log | diff | annotate | |
src/sys/net/pfvar_priv.h | log | diff | annotate | |
message |
revert "move pf_purge out from under the kernel lock". hrvoje popovski showed me pfsync blowing up with this. im backing it out quickly in case something else at the hackathon makes it harder to do later. kn@ agrees |
date | 2022-11-07T18:56:20Z | |||
---|---|---|---|---|
author | kettenis | |||
files | src/sys/arch/arm64/dev/aplintc.c | log | diff | annotate |
message |
Implement the "halt" IPI. ok patrick@ |
date | 2022-11-07T19:07:31Z | |||
---|---|---|---|---|
author | patrick | |||
files | src/sys/dev/ofw/ofw_misc.c | log | diff | annotate |
message |
The ARM SMMUv2 does actually support #iommu-cells = <2>, where the second cell is used as a mask for SMR to match a number of IDs. So far we have asserted that it's always 1, so loosen the restriction and pass both cells instead of only the sid. ok kettenis@ |
date | 2022-11-07T20:15:44Z | |||
---|---|---|---|---|
author | patrick | |||
files | src/sys/dev/fdt/dwpcie.c | log | diff | annotate |
message |
Add support for the PCIe controller on the Qualcomm SC8280XP. Thankfully UEFI already initializes those, so we can simply just make use of that. That said, the ctrl/dbi region isn't the first in the register list, so instead try and look it up first and use it if available. Furthermore, the ATU region isn't part of the ctrl/dbi region, so if we are able to retrieve a separate reg for the ATU, use that instead. Some reshuffling is necessary to make that work. Tested on my Lenovo x13s and the MacchiatoBin ok kettenis@ |
date | 2022-11-07T20:28:23Z | |||
---|---|---|---|---|
author | patrick | |||
files | src/sys/dev/fdt/gpiokeys.c | log | diff | annotate |
message |
The gpiokeys(4) 'label' property seems to be optional. If we don't have any, don't try and print it, and especially don't error out. Tested on Lenovo x13s (myself) and Pinebook Poop (kn@) ok kn@ |