Module Name: src
Committed By: jmcneill
Date: Sat Aug 9 13:34:10 UTC 2014
Modified Files:
src/sys/dev/dtv: dtv_demux.c dtv_device.c dtv_scatter.c
Log Message:
IPL_VM -> IPL_SCHED to avoid taking kernel lock
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/dev/dtv/dtv_demux.c
cvs rdiff -u -r1.10 -r1.11 src/sys/dev/dtv/dtv_device.c
cvs rdiff -u -r1.1 -r1.2 src/sys/dev/dtv/dtv_scatter.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/dtv/dtv_demux.c
diff -u src/sys/dev/dtv/dtv_demux.c:1.5 src/sys/dev/dtv/dtv_demux.c:1.6
--- src/sys/dev/dtv/dtv_demux.c:1.5 Thu Oct 17 21:23:05 2013
+++ src/sys/dev/dtv/dtv_demux.c Sat Aug 9 13:34:10 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: dtv_demux.c,v 1.5 2013/10/17 21:23:05 christos Exp $ */
+/* $NetBSD: dtv_demux.c,v 1.6 2014/08/09 13:34:10 jmcneill Exp $ */
/*-
* Copyright (c) 2011 Jared D. McNeill <[email protected]>
@@ -52,7 +52,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dtv_demux.c,v 1.5 2013/10/17 21:23:05 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dtv_demux.c,v 1.6 2014/08/09 13:34:10 jmcneill Exp $");
#include <sys/param.h>
#include <sys/types.h>
@@ -305,7 +305,7 @@ dtv_demux_open(struct dtv_softc *sc, int
/* Default operation mode is unconfigured */
demux->dd_mode = DTV_DEMUX_MODE_NONE;
selinit(&demux->dd_sel);
- mutex_init(&demux->dd_lock, MUTEX_DEFAULT, IPL_VM);
+ mutex_init(&demux->dd_lock, MUTEX_DEFAULT, IPL_SCHED);
cv_init(&demux->dd_section_cv, "dtvsec");
error = fd_allocfile(&fp, &fd);
Index: src/sys/dev/dtv/dtv_device.c
diff -u src/sys/dev/dtv/dtv_device.c:1.10 src/sys/dev/dtv/dtv_device.c:1.11
--- src/sys/dev/dtv/dtv_device.c:1.10 Fri Jul 25 08:10:36 2014
+++ src/sys/dev/dtv/dtv_device.c Sat Aug 9 13:34:10 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: dtv_device.c,v 1.10 2014/07/25 08:10:36 dholland Exp $ */
+/* $NetBSD: dtv_device.c,v 1.11 2014/08/09 13:34:10 jmcneill Exp $ */
/*-
* Copyright (c) 2011 Jared D. McNeill <[email protected]>
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dtv_device.c,v 1.10 2014/07/25 08:10:36 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dtv_device.c,v 1.11 2014/08/09 13:34:10 jmcneill Exp $");
#include <sys/types.h>
#include <sys/conf.h>
@@ -106,8 +106,8 @@ dtv_attach(device_t parent, device_t sel
ds->ds_buf = NULL;
SIMPLEQ_INIT(&ds->ds_ingress);
SIMPLEQ_INIT(&ds->ds_egress);
- mutex_init(&ds->ds_egress_lock, MUTEX_DEFAULT, IPL_VM);
- mutex_init(&ds->ds_ingress_lock, MUTEX_DEFAULT, IPL_VM);
+ mutex_init(&ds->ds_egress_lock, MUTEX_DEFAULT, IPL_SCHED);
+ mutex_init(&ds->ds_ingress_lock, MUTEX_DEFAULT, IPL_SCHED);
cv_init(&ds->ds_sample_cv, "dtv");
selinit(&ds->ds_sel);
dtv_scatter_buf_init(&ds->ds_data);
@@ -117,7 +117,7 @@ dtv_attach(device_t parent, device_t sel
return;
}
- mutex_init(&sc->sc_demux_lock, MUTEX_DEFAULT, IPL_VM);
+ mutex_init(&sc->sc_demux_lock, MUTEX_DEFAULT, IPL_SCHED);
TAILQ_INIT(&sc->sc_demux_list);
sc->sc_demux_runcnt = 0;
Index: src/sys/dev/dtv/dtv_scatter.c
diff -u src/sys/dev/dtv/dtv_scatter.c:1.1 src/sys/dev/dtv/dtv_scatter.c:1.2
--- src/sys/dev/dtv/dtv_scatter.c:1.1 Sat Jul 9 14:46:56 2011
+++ src/sys/dev/dtv/dtv_scatter.c Sat Aug 9 13:34:10 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: dtv_scatter.c,v 1.1 2011/07/09 14:46:56 jmcneill Exp $ */
+/* $NetBSD: dtv_scatter.c,v 1.2 2014/08/09 13:34:10 jmcneill Exp $ */
/*
* Copyright (c) 2008 Patrick Mahoney <[email protected]>
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dtv_scatter.c,v 1.1 2011/07/09 14:46:56 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dtv_scatter.c,v 1.2 2014/08/09 13:34:10 jmcneill Exp $");
#include <sys/param.h>
#include <sys/ioctl.h>
@@ -48,14 +48,11 @@ __KERNEL_RCSID(0, "$NetBSD: dtv_scatter.
#include <dev/dtv/dtvvar.h>
-#define IPL_DTV IPL_VM
-#define spldtv() splvm()
-
void
dtv_scatter_buf_init(struct dtv_scatter_buf *sb)
{
sb->sb_pool = pool_cache_init(PAGE_SIZE, 0, 0, 0,
- "dtvscatter", NULL, IPL_DTV,
+ "dtvscatter", NULL, IPL_SCHED,
NULL, NULL, NULL);
sb->sb_size = 0;
sb->sb_npages = 0;