kern/168649: commit references a PR

dfilter service dfilter at FreeBSD.ORG
Tue Jun 5 06:10:19 UTC 2012


The following reply was made to PR kern/168649; it has been noted by GNATS.

From: dfilter at FreeBSD.ORG (dfilter service)
To: bug-followup at FreeBSD.org
Cc:  
Subject: Re: kern/168649: commit references a PR
Date: Tue,  5 Jun 2012 06:04:18 +0000 (UTC)

 Author: adrian
 Date: Tue Jun  5 06:03:55 2012
 New Revision: 236599
 URL: http://svn.freebsd.org/changeset/base/236599
 
 Log:
   Mostly revert previous commit(s).  After doing a bunch of local testing,
   it turns out that it negatively affects performance.  I'm stil investigating
   exactly why deferring the IO causes such negative TCP performance but
   doesn't affect UDP preformance.
   
   Leave the ath_tx_kick() change in there however; it's going to be useful
   to have that there for if_transmit() work.
   
   PR:		kern/168649
 
 Modified:
   head/sys/dev/ath/if_ath.c
   head/sys/dev/ath/if_ath_misc.h
   head/sys/dev/ath/if_athvar.h
 
 Modified: head/sys/dev/ath/if_ath.c
 ==============================================================================
 --- head/sys/dev/ath/if_ath.c	Tue Jun  5 05:16:04 2012	(r236598)
 +++ head/sys/dev/ath/if_ath.c	Tue Jun  5 06:03:55 2012	(r236599)
 @@ -142,7 +142,6 @@ static void	ath_vap_delete(struct ieee80
  static void	ath_init(void *);
  static void	ath_stop_locked(struct ifnet *);
  static void	ath_stop(struct ifnet *);
 -static void	ath_tx_tasklet(void *arg, int npending);
  static int	ath_reset_vap(struct ieee80211vap *, u_long);
  static int	ath_media_change(struct ifnet *);
  static void	ath_watchdog(void *);
 @@ -374,7 +373,6 @@ ath_attach(u_int16_t devid, struct ath_s
  		"%s taskq", ifp->if_xname);
  
  	TASK_INIT(&sc->sc_rxtask, 0, ath_rx_tasklet, sc);
 -	TASK_INIT(&sc->sc_txstarttask, 0, ath_tx_tasklet, sc);
  	TASK_INIT(&sc->sc_bmisstask, 0, ath_bmiss_proc, sc);
  	TASK_INIT(&sc->sc_bstucktask,0, ath_bstuck_proc, sc);
  	TASK_INIT(&sc->sc_resettask,0, ath_reset_proc, sc);
 @@ -2327,15 +2325,6 @@ void
  ath_start(struct ifnet *ifp)
  {
  	struct ath_softc *sc = ifp->if_softc;
 -
 -	taskqueue_enqueue(sc->sc_tq, &sc->sc_txstarttask);
 -}
 -
 -static void
 -ath_tx_tasklet(void *arg, int npending)
 -{
 -	struct ath_softc *sc = (struct ath_softc *) arg;
 -	struct ifnet *ifp = sc->sc_ifp;
  	struct ieee80211_node *ni;
  	struct ath_buf *bf;
  	struct mbuf *m, *next;
 
 Modified: head/sys/dev/ath/if_ath_misc.h
 ==============================================================================
 --- head/sys/dev/ath/if_ath_misc.h	Tue Jun  5 05:16:04 2012	(r236598)
 +++ head/sys/dev/ath/if_ath_misc.h	Tue Jun  5 06:03:55 2012	(r236599)
 @@ -88,12 +88,7 @@ static inline void
  ath_tx_kick(struct ath_softc *sc)
  {
  
 -	/*
 -	 * Use a taskqueue to schedule a TX completion task,
 -	 * even if we're in taskqueue context.  That way this can
 -	 * be called from any context.
 -	 */
 -	taskqueue_enqueue(sc->sc_tq, &sc->sc_txstarttask);
 +	ath_start(sc->sc_ifp);
  }
  
  #endif
 
 Modified: head/sys/dev/ath/if_athvar.h
 ==============================================================================
 --- head/sys/dev/ath/if_athvar.h	Tue Jun  5 05:16:04 2012	(r236598)
 +++ head/sys/dev/ath/if_athvar.h	Tue Jun  5 06:03:55 2012	(r236599)
 @@ -476,7 +476,6 @@ struct ath_softc {
  	struct mbuf		*sc_rxpending;	/* pending receive data */
  	u_int32_t		*sc_rxlink;	/* link ptr in last RX desc */
  	struct task		sc_rxtask;	/* rx int processing */
 -	struct task		sc_txstarttask;	/* ath_start() processing */
  	u_int8_t		sc_defant;	/* current default antenna */
  	u_int8_t		sc_rxotherant;	/* rx's on non-default antenna*/
  	u_int64_t		sc_lastrx;	/* tsf at last rx'd frame */
 _______________________________________________
 svn-src-all at freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe at freebsd.org"
 


More information about the freebsd-bugs mailing list