[pf4freebsd] Re: patches for ALTQ on 5.1R
Dennis Berger
Dennis.Berger at BSDsystems.de
Wed Sep 15 20:42:19 PDT 2004
Pyun YongHyeon wrote:
>On Tue, Jul 29, 2003 at 11:12:46AM +0900, To pf4freebsd at freelists.org wrote:
> >
> > Hello All,
> >
> > There is a patch for Dennis Berger's ALTQ.
> > This patch was posted to Dennis and he published the patch
> > on this URL. His next release will include this patch.
> >
> > http://www.nipsi.de/FreeBSD/altqfixes.0.1
> >
> > Above patch solves Dennis' IF_POLL macro problem. It also
> > touches wi(4) driver and provide a new ALTQ driver tun(4).
> > Beware! Both wi(4) and tun(4) driver was not tested at all.
> > So you may get panics!(I just have fxp(4))
> > I hope the tun(4) driver can be used to experiment
> > "prioritizing empty TCP acks".
> >
>Hello All,
>
>I got several random lockups when I enable ALTQ.
>If I ping to the victim system during boot, the system is paniced.
>I think this problem comes from ALTQ fxp(4) driver.
>Based on http://people.freebsd.org/~hmp/patches/if_fxp-alt.diff
>I made a patch for ALTQ fxp driver.
>This patch was generated after applying Dennis's ALTQ patch.
>I can't sure this patch solves all fxp(4) problems but it works
>for me at least up to now.
>
>--- ./sys.altq/dev/fxp/if_fxpvar.h.ORG Tue Jul 29 22:25:51 2003
>+++ ./sys.altq/dev/fxp/if_fxpvar.h Tue Jul 29 22:13:34 2003
>@@ -111,8 +111,14 @@
> #define mtx_destroy(a)
> struct mtx { int dummy; };
> #else
>-#define FXP_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx)
>-#define FXP_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx)
>+#define FXP_LOCK(_sc) do { \
>+ if (!mtx_owned(&(_sc)->sc_mtx)) \
>+ mtx_lock(&(_sc)->sc_mtx); \
>+} while(0)
>+#define FXP_UNLOCK(_sc) do { \
>+ if (mtx_owned(&(_sc)->sc_mtx)); \
>+ mtx_unlock(&(_sc)->sc_mtx); \
>+} while(0)
> #endif
>
> /*
>
>Thanks.
>
>Regards,
>
>
http://www.nipsi.de/FreeBSD/altq-freebsd-5.1-release.tar.gz
this release includs all fixes till today...
if_var, if_wi, if_tun, fxp...
greets Dennis
More information about the freebsd-pf
mailing list