Age | Commit message (Collapse) | Author |
|
|
|
this is mostly to help me better understand where i accumulate error
when trying to sync the chip to the kernel clocks. ie, if im using
mcx as the kernel clock source and my attempts to sync to it still
produce errors, then my code is very wrong instead of slightly
wrong.
it's also fun and a tiny amount of code.
|
|
|
|
Makes touchpad work on Joel Carnat's Teclast F7 Plus laptop.
Patch from James Hastings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
behavior. All tests are run once with pf fragment reassembly and
once with pf disabled and IP input reassembly. Three sub tests are
currently disabled as the IP stack behaves differently than pf.
|
|
|
|
|
|
|
|
|
|
Rename klist_{insert,remove}() to klist_{insert,remove}_locked().
These functions assume that the caller has locked the klist. The current
state of locking remains intact because the kernel lock is still used
with all klists.
Add new functions klist_insert() and klist_remove() that lock the klist
internally. This allows some code simplification.
OK mpi@
|
|
Make the SMR thread maintain an explicit system-wide grace period and
make CPUs observe the current grace period when crossing a quiescent
state. This lets the SMR thread avoid a forced context switch for CPUs
that have already entered the latest grace period.
This change provides a small improvement in smr_grace_wait()'s
performance in terms of context switching.
OK mpi@, anton@
|
|
|
|
This makes CFLAGS pick up -O2, which shaves a few seconds runtime
off these very slow tests.
|
|
|
|
multiple ARP packets to a remote machine with Scapy. Check ARP
replies, table entries and log messages. All log messages in
in_arpinput() are generated. Proxy ARP is also tested.
|
|
|
|
|
|
|
|
|
|
of zero length TDs can cause our free TRBs to run out, causing xhci(4)
to return USBD_NOMEM to the USB stack.
The issue was reported by
Jonathon Fletcher <jonathon.fletcher () gmail ! com> -- Thanks!
Reviewed/suggestions by patrick@.
ok mpi@
|
|
ok kettenis@
|
|
ok patrick@
|
|
|
|
|
|
This moves the pmap closer to MP-safety. A similar change has already
been made on some other architectures.
|
|
to exchange packets, the remote kernel is tested. For now it only
contains a challenge ack test written by sashan@.
OK sashan@
|
|
For http-01 this doesn't matter but I think this will be nicer for
dns-01 because there are propagation delays to consider and it will be
better to just put everything in DNS and then wait then wait after
each challenge.
Testing & OK sthen
|
|
|
|
The 'nominal core crystal clock frequency' from cpuid 0x15 is 0 on
Intel model 0xa5 (CML-H CML-S62 CML-S102) and 0xa6 (CML-U62). So act as
if 24 MHz was reported like we do on other Skylake/Kaby Lake variants.
Comet Lake processors with model 0x8e (CML-U42 CML-Y42) use the same model
number used by Kaby Lake and many other parts which was already handled.
While we could approximate the crystal frequency with 'Processor Base
Frequency' from cpuid 0x16 eax like FreeBSD and Linux do, kettenis@ couldn't
get ntpd to sync a clock on a Skylake machine with:
CPUID 0x15: eax=2, ebx=134, khz=0
CPUID 0x16: eax=1600, ebx=1600, ecx=100, edx=0
with reported crystal frequency changing from 24000 kHz to 23880 kHz
(cpuid 0x16 eax * 1000 * cpuid 0x15 eax / cpuid 0x15 ebx) and
TSC frequency changing from 1608000000 to 1599960000.
Cannon Lake, Ice Lake, and Tiger Lake are known to return non-zero
frequency in cpuid 0x15 so hopefully no other model ids have to be added.
James Cook reported hangs on bsd.rd with i7-10710U 06-a6-00 (CML-U62)
(which does not have acpihpet) but not with bsd.mp (which does) and has
confirmed that both approaches fixed the problem.
|
|
It would be convenient if there were a channel a thread could sleep on
to indicate they do not want any wakeup(9) broadcasts. The easiest way
to do this is to add an "int nowake" to kern_synch.c and extern it in
sys/systm.h. You use it like this:
#include <sys/systm.h>
tsleep_nsec(&nowait, ...);
There is now no need to handroll a local dead channel, e.g.
int chan;
tsleep_nsec(&chan, ...);
which expands the stack. Local dead channels will be replaced with
&nowake in later patches.
One possible problem with this "one global channel" approach is sleep
queue congestion. If you have lots of threads sleeping on &nowake you
might slow down a wakeup(9) on a different channel that hashes into
the same queue. Unsure how much of problem this actually is, if at all.
NetBSD and FreeBSD have a "pause" interface in the kernel that chooses
a suitable channel automatically. To keep things simple and avoid
adding a new interface we will start with this global channel.
Discussed with mpi@, claudio@, kettenis@, and deraadt@.
Basically designed by kettenis@, who vetoed my other proposals.
Bugs caught by deraadt@, tb@, and patrick@.
|
|
Tested by otto@ and myself.
|
|
OK claudio@ sthen@
|
|
Make it obvious where the thread is blocked. "pause" is ambiguous.
Tweaked by kettenis@.
Probably ok kettenis@.
|
|
We only see 8 characters of wmesg in e.g. top(1), so shorten the
string to fit.
Indirectly prompted by kettenis@.
|
|
leading to a crash. From gilles@
|
|
|
|
files.
Usual man page help & ok jmc@
|
|
the sockaddr it contains, as expected by freeaddrinfo().
Move the allocation to a helper function for clarity.
comments from martijn@ millert@
ok millert@
|
|
Invoke dead_filtops' f_event callback in klist_invalidate() to ensure
that filt_dead() modifies every invalidated knote. If a knote has
EV_ONESHOT set in its event flags, kqueue_scan() will not call f_event.
OK mpi@
|
|
This fixes a regression where kqueue_scan() may incorrectly return
EWOULDBLOCK after a timeout.
OK mpi@
|
|
The problem is that this timer only looks at the receive side of the TCP
session. If for some reason the send side stalls the system fully depends
on the remote BGP peer to reset the session. As seen in an ever growing
OutQ and as a result important changes can get stalled and cause routing
troubles.
This change introduces a SEND HOLD timer. The timer is reset whenever the
session engine was able to write data to the TCP socket. If the send hold
timer expires bgpd was not able to send any data to that neighbor for at
least 90 seconds and therefor the session is forcefully closed with a hold
timer expired notification.
The send hold timer acts as a last resort to detect faulty peers. On an
idle session it can take a long time until this timer triggers but the
main goal here is to reset a stuck session at some point which did not
happen before.
With and OK job@
|
|
o Palestine ends DST earlier than predicted, on 2020-10-24.
o Volgograd switches to Moscow time on 2020-12-27 at 02:00.
|
|
ignores the presence "enable-active-high" property and relies on the
encode polarity of the GPIO in the flags in the device tree instead.
This might not be the case for older device trees; such device trees
should be fixed.
ok patrick@
|
|
|