diff options
author | phk <phk@FreeBSD.org> | 2003-04-12 09:13:01 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2003-04-12 09:13:01 +0000 |
commit | 708a319e8e66a68256ef0b4fce7459c5342e14cd (patch) | |
tree | 6c1beb07f0525da043601f4b71673f03b2d1369e | |
parent | b7ae39395d211cf18528caa2c5a812d56ce5f968 (diff) | |
download | FreeBSD-src-708a319e8e66a68256ef0b4fce7459c5342e14cd.zip FreeBSD-src-708a319e8e66a68256ef0b4fce7459c5342e14cd.tar.gz |
Retire the experimental bio_taskqueue(), it was not quite as usable as
hoped. It can be revived from here, should other drivers be able to
use it.
-rw-r--r-- | sys/geom/geom_io.c | 27 | ||||
-rw-r--r-- | sys/sys/bio.h | 2 |
2 files changed, 0 insertions, 29 deletions
diff --git a/sys/geom/geom_io.c b/sys/geom/geom_io.c index 5217733..b99ee4d 100644 --- a/sys/geom/geom_io.c +++ b/sys/geom/geom_io.c @@ -58,7 +58,6 @@ static struct g_bioq g_bio_run_down; static struct g_bioq g_bio_run_up; -static struct g_bioq g_bio_run_task; static struct g_bioq g_bio_idle; static u_int pace; @@ -167,7 +166,6 @@ g_io_init() g_bioq_init(&g_bio_run_down); g_bioq_init(&g_bio_run_up); - g_bioq_init(&g_bio_run_task); g_bioq_init(&g_bio_idle); } @@ -362,23 +360,6 @@ g_io_schedule_down(struct thread *tp __unused) } void -bio_taskqueue(struct bio *bp, bio_task_t *func, void *arg) -{ - bp->bio_task = func; - bp->bio_task_arg = arg; - /* - * The taskqueue is actually just a second queue off the "up" - * queue, so we use the same lock. - */ - g_bioq_lock(&g_bio_run_up); - TAILQ_INSERT_TAIL(&g_bio_run_task.bio_queue, bp, bio_queue); - g_bio_run_task.bio_queue_length++; - wakeup(&g_wait_up); - g_bioq_unlock(&g_bio_run_up); -} - - -void g_io_schedule_up(struct thread *tp __unused) { struct bio *bp; @@ -388,14 +369,6 @@ g_io_schedule_up(struct thread *tp __unused) mtx_init(&mymutex, "g_xup", MTX_DEF, 0); for(;;) { g_bioq_lock(&g_bio_run_up); - bp = g_bioq_first(&g_bio_run_task); - if (bp != NULL) { - g_bioq_unlock(&g_bio_run_up); - mtx_lock(&mymutex); - bp->bio_task(bp, bp->bio_task_arg); - mtx_unlock(&mymutex); - continue; - } bp = g_bioq_first(&g_bio_run_up); if (bp != NULL) { g_bioq_unlock(&g_bio_run_up); diff --git a/sys/sys/bio.h b/sys/sys/bio.h index 508632c..c05e7d0 100644 --- a/sys/sys/bio.h +++ b/sys/sys/bio.h @@ -123,8 +123,6 @@ void bioq_init(struct bio_queue_head *head); void bioq_insert_tail(struct bio_queue_head *head, struct bio *bp); void bioq_remove(struct bio_queue_head *head, struct bio *bp); -void bio_taskqueue(struct bio *bp, bio_task_t *fund, void *arg); - int physio(dev_t dev, struct uio *uio, int ioflag); #define physread physio #define physwrite physio |