Downgrade tty_intr_event from a global
It can be static within uart_tty.c. It is an open question whether there remains any real benefit to having uart instances share a swi thread. Reviewed by: imp, markj, jhb MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D36938
This commit is contained in:
parent
96b76a6a1e
commit
05b727fee5
@ -35,7 +35,6 @@
|
|||||||
.In sys/param.h
|
.In sys/param.h
|
||||||
.In sys/bus.h
|
.In sys/bus.h
|
||||||
.In sys/interrupt.h
|
.In sys/interrupt.h
|
||||||
.Vt "extern struct intr_event *tty_intr_event" ;
|
|
||||||
.Vt "extern struct intr_event *clk_intr_event" ;
|
.Vt "extern struct intr_event *clk_intr_event" ;
|
||||||
.Ft int
|
.Ft int
|
||||||
.Fo swi_add
|
.Fo swi_add
|
||||||
@ -148,16 +147,10 @@ On platforms allowing IPI sending from NMI context it immediately wakes
|
|||||||
via the IPI, otherwise it works just like SWI_DELAY.
|
via the IPI, otherwise it works just like SWI_DELAY.
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
The
|
|
||||||
.Va tty_intr_event
|
|
||||||
and
|
|
||||||
.Va clk_intr_event
|
.Va clk_intr_event
|
||||||
variables contain pointers to the software interrupt handlers for the tty and
|
is a pointer to the
|
||||||
clock software interrupts, respectively.
|
.Vt struct intr_event
|
||||||
.Va tty_intr_event
|
used to hang delayed handlers off of the clock interrupt, and is invoked
|
||||||
is used to hang tty software interrupt handlers off of the same thread.
|
|
||||||
.Va clk_intr_event
|
|
||||||
is used to hang delayed handlers off of the clock interrupt, and is invoked
|
|
||||||
directly by
|
directly by
|
||||||
.Xr hardclock 9 .
|
.Xr hardclock 9 .
|
||||||
.Sh RETURN VALUES
|
.Sh RETURN VALUES
|
||||||
|
@ -77,6 +77,9 @@ CONSOLE_DRIVER(
|
|||||||
|
|
||||||
static struct uart_devinfo uart_console;
|
static struct uart_devinfo uart_console;
|
||||||
|
|
||||||
|
/* TTY swi(9) event. Allows all uart soft handlers to share one ithread. */
|
||||||
|
static struct intr_event *tty_intr_event;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
uart_cnprobe(struct consdev *cp)
|
uart_cnprobe(struct consdev *cp)
|
||||||
{
|
{
|
||||||
|
@ -89,7 +89,6 @@ struct intr_entropy {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct intr_event *clk_intr_event;
|
struct intr_event *clk_intr_event;
|
||||||
struct intr_event *tty_intr_event;
|
|
||||||
struct proc *intrproc;
|
struct proc *intrproc;
|
||||||
|
|
||||||
static MALLOC_DEFINE(M_ITHREAD, "ithread", "Interrupt Threads");
|
static MALLOC_DEFINE(M_ITHREAD, "ithread", "Interrupt Threads");
|
||||||
|
@ -153,7 +153,6 @@ struct intr_event {
|
|||||||
struct proc;
|
struct proc;
|
||||||
|
|
||||||
extern struct intr_event *clk_intr_event;
|
extern struct intr_event *clk_intr_event;
|
||||||
extern struct intr_event *tty_intr_event;
|
|
||||||
|
|
||||||
/* Counts and names for statistics (defined in MD code). */
|
/* Counts and names for statistics (defined in MD code). */
|
||||||
extern u_long *intrcnt; /* counts for each device and stray */
|
extern u_long *intrcnt; /* counts for each device and stray */
|
||||||
|
Loading…
Reference in New Issue
Block a user