Date: Tue, 24 Apr 2007 06:41:51 GMT From: Kip Macy <kmacy@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 118709 for review Message-ID: <200704240641.l3O6fpZr094612@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=118709 Change 118709 by kmacy@kmacy_vt-x:opentoe_init on 2007/04/24 06:41:47 implement calc_tx_descs_ofld along with small cleanups Affected files ... .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_sge.c#15 edit Differences ... ==== //depot/projects/opentoe/sys/dev/cxgb/cxgb_sge.c#15 (text+ko) ==== @@ -1863,22 +1863,20 @@ * packet. These packets are already fully constructed. */ static __inline unsigned int -calc_tx_descs_ofld(const struct mbuf *m, unsigned int nsegs) +calc_tx_descs_ofld(struct mbuf *m, unsigned int nsegs) { -#ifdef notyet - unsigned int flits, cnt = skb_shinfo(skb)->nr_frags; + unsigned int flits, cnt = 0; + - if (m->m_len <= WR_LEN && cnt == 0) + if (m->m_len <= WR_LEN) return 1; /* packet fits as immediate data */ - flits = (m->m_pkthdr.header - mtod(m, char *)) / 8; /* headers */ + if (m->m_flags & M_IOVEC) + cnt = mtomv(m)->mv_count; - if (skb->tail != skb->h.raw) - cnt++; + flits = ((uint8_t *)m->m_pkthdr.header - mtod(m, uint8_t *)) / 8; /* headers */ return flits_to_desc(flits + sgl_len(cnt)); -#endif - return (0); } /** @@ -1952,16 +1950,14 @@ static void restart_offloadq(unsigned long data) { -#ifdef notyet + struct mbuf *m; -#endif struct sge_qset *qs = (struct sge_qset *)data; struct sge_txq *q = &qs->txq[TXQ_OFLD]; adapter_t *adap = qs->port->adapter; struct mbuf *m_vec[TX_CLEAN_MAX_DESC]; int i, cleaned; -#ifdef notyet mtx_lock(&q->lock); again: cleaned = reclaim_completed_tx(adap, q, TX_CLEAN_MAX_DESC, m_vec); @@ -1988,14 +1984,14 @@ q->pidx -= q->size; q->gen ^= 1; } -#if 0 + __skb_unlink(skb, &q->sendq); -#endif + mtx_unlock(&q->lock); write_ofld_wr(adap, skb, q, pidx, gen, ndesc, segs, nsegs); mtx_lock(&q->lock); } -#endif + mtx_unlock(&q->lock); #if USE_GTS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200704240641.l3O6fpZr094612>