Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys/arch

Module Name:    src
Committed By:   bouyer
Date:           Mon Apr 13 22:54:12 UTC 2020

Modified Files:
        src/sys/arch/x86/include: cpu.h
        src/sys/arch/xen/include: evtchn.h
        src/sys/arch/xen/x86: xen_intr.c xen_ipi.c
        src/sys/arch/xen/xen: clock.c evtchn.c

Log Message:
By default, events are bound to CPU 0 (exept for IPIs and VTIMERs which
are bound to a different CPU at creation time).
Recent MI changes caused the scheduler to choose a different CPU when
probing and attaching xennet devices (I guess it's the xenbus thread which
runs on a different CPU). This cause the callback to be called on a different
CPU than the one expected by the kernel, and the event is ignored.
It is handled when the clock causes the callback to be called on the right
CPU, which is why xennet still run, but slowly.

Change event_set_handler() to do a EVTCHNOP_bind_vcpu if requested to,
and make sure we don't do it for IPIs and VIRQs (for theses, the op fails).

To generate a diff of this commit:
cvs rdiff -u -r1.119 -r1.120 src/sys/arch/x86/include/cpu.h
cvs rdiff -u -r1.28 -r1.29 src/sys/arch/xen/include/evtchn.h
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/xen/x86/xen_intr.c
cvs rdiff -u -r1.35 -r1.36 src/sys/arch/xen/x86/xen_ipi.c
cvs rdiff -u -r1.80 -r1.81 src/sys/arch/xen/xen/clock.c
cvs rdiff -u -r1.88 -r1.89 src/sys/arch/xen/xen/evtchn.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Home | Main Index | Thread Index | Old Index