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>