Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Mar 2001 20:24:01 -0600
From:      rand@meridian-enviro.com
To:        Mike Smith <msmith@FreeBSD.ORG>
Cc:        rand@meridian-enviro.com, freebsd-stable@FreeBSD.ORG, Mike Tancsa <mike@sentex.net>, bryanh@meridian-enviro.com
Subject:   Re: 3ware problems 
Message-ID:  <878zly5yny.wl@localhost.meridian-enviro.com>
In-Reply-To: <200103220121.f2M1KwE00867@mass.dis.org>
References:  <87u24m7kc0.wl@delta.meridian-enviro.com> <200103220121.f2M1KwE00867@mass.dis.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Mike> Er.  This is bad; tr_status == 2 means that the command has been
Mike> completed; it shouldn't still be on the busy queue.  Can you
Mike> check to make sure you have the right queue here?

Well, it looks like I had the wrong queue before.  Blush.
At least this time tr_status is 1. Not sure if that is good or bad
though! :)

Here is the debug output:

db> call twe_printqueues 
twe0: status   57007310<CQEMPTY,UCREADY,RQEMPTY,>
twe0:           current  max
twe0: free      0099     0100
twe0: ready     0000     0000
twe0: busy      0001     0100
twe0: complete  0000     0009
twe0: bioq      0000     0021
twe0: AEN queue head 1  tail 0
ready queue: 0 entries
busy queue: 1 entries
twe0: CMD: request_id 54  opcode <WRITE>  size 11  unit 0  host_id 0
twe0:  status 0  flags 0x0  count 32  sgl_offset 3
twe0:  lba 177770466
twe0:   0: 0xffc4000/4096
twe0:   1: 0x11f85000/4096
twe0:   2: 0x12d66000/4096
twe0:   3: 0x10e87000/4096
twe0:  tr_command 0xc1520400/0x174f4400  tr_data 0xce0f4000/0xffc4000,16384
twe0:  tr_status 1  tr_flags 0x2  tr_complete 0xc011f1b0  tr_private 0xc9260400
complete queue: 0 entries

This was generated with the code:

void
twe_printqueues(void)
{
    struct twe_softc    *sc;
    struct twe_request  *tr = NULL;
    int                 i, s;

    s = splbio();
    for (i = 0; (sc = devclass_get_softc(twe_devclass, i)) != NULL; i++) {
        twe_print_controller(sc);
        printf("ready queue: %d entries\n", sc->twe_qstat[TWEQ_READY].q_length);
        TAILQ_FOREACH(tr, sc->twe_ready, tr_link) twe_print_request(tr);
        printf("busy queue: %d entries\n", sc->twe_qstat[TWEQ_BUSY].q_length);
        TAILQ_FOREACH(tr, sc->twe_busy, tr_link) twe_print_request(tr);
        printf("complete queue: %d entries\n", sc->twe_qstat[TWEQ_COMPLETE].q_length);
        TAILQ_FOREACH(tr, sc->twe_complete, tr_link) twe_print_request(tr);
    }
    splx(s);
}


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?878zly5yny.wl>