[OpenWrt-Devel] Codel explanation in Danish

2012-05-20 Thread Dave Taht
See:

http://www.linuxin.dk/node/19778 for the original text:

Via google translate:

"Version 3.4 of Linux has not arrived yet, but 3.5 already appears to
be a very interesting version. There will be a vital improvement to
the handling of buffers in the network. More specifically, it is a new
algorithm that can correct bufferbloat problem. That is a congested
internet to a lesser extent will feel slow for example. ordinary web
browsing or gaming. 3.5 is therefore really one of those releases
where the average user can feel the difference kernel versionen.

A few days ago announced Kathleen Nichols and Van Jacobson their paper
a new algorithm for active queue management (AQM). Besides having
improvements in performance compared to previous algorithms, so the
new is also a huge advantage of not requiring difficult settings for
each use pattern. Previously it required networking expert to analyze
the individual traffic and set the AQM if you needed it. The new is it
just "plug and play" and AQM can now be used as default.

Shortly after the publication of paperen had scientists from cerowrt /
bufferbloat an implementation ready for linux. It has already been
included in git repoet for network-next, which is expected to be part
of Linux 3.5. The code is also also included in the development
version of openwrt and would also be found in the first release of
cerowrt, expected to come very soon. "


-- 
Dave Täht
SKYPE: davetaht
US Tel: 1-239-829-5608
http://www.bufferbloat.net
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] BQL support in Ethernet drivers (and Kathie Nichols and Van Jacobson's new AQM, codel)

2012-05-20 Thread Dave Taht
Thx for the numbers!

Could you do a TCP_RR while under load from UDP_STREAM?

On Mon, May 21, 2012 at 1:31 AM, Tobias Diedrich
 wrote:
> Tobias Diedrich wrote:
>> Dave Taht wrote:
>> > In looking over the enormous stack of boards and drivers that openwrt
>> > supports, I see that many of the ethernet drivers don't yet support
>> > Linux 3.3's "Byte Queue Limits", which are discussed here:
>> >
>> > http://lwn.net/Articles/454390/
>> >
>> > It would be good if more did. They improve network performance in the
>> > general case enormously, particularly when a link is not connected at
>> > it's peak wire speed.
>> >
>> > *Adding* support for BQL to an ethernet driver is trivial, here's an
>> > example of how.
>>
>> I tried adding BQL to the ramips ethernet driver, however I found
>> some interesting behaviour while doing
>> "root@OpenWrt:~# netperf -l 120 -t UDP_STREAM -H myserver"
>>
>> It looks like the briding code still needs to implement this as well?
>>
>> netperf UDP_STREAM:
>> iface  limit_min   inflight  tx mbps  remote mbps  ping ms
>> eth0   0           ~15000    95.71    95.71        ~10ms
>> eth0   100     ~30   177.98   23.28(*)     ~30ms
>> br0    0           ~15000    154.88   33.94(*)     ~120ms
>> br0    100     ~30   170.92   25.57(*)     ~30ms
>>
>> (*) bwm-ng on the server showed ~100mbps incoming...
> [...]
>> Haven't tried codel yet...
>
> Turns out, it works nicely with codel, even with the bridge:
>
> netperf:  netperf -l 120 -t UDP_STREAM -H myserver
> fq_codel: tc qdisc add dev eth0 handle 1: root fq_codel target 5ms
>
> iface  eth0 qdisc  bql  inflight  tx mbps    sys time  ping ms
> eth0   pfifo_fast  no   n/a       182.98(*)  96.43s    ~30ms
> eth0   fq_codel    no   n/a       177.98(*)  96.09s    ~30ms
> eth0   pfifo_fast  yes  ~15000    95.71      42.73s    ~10ms
> eth0   fq_codel    yes  ~15000    95.19      51.52s    ~4ms
> br0    pfifo_fast  yes  ~15000    155.19(*)  94.24s    ~120ms
> br0    fq_codel    yes  ~15000    90.92      65.52s    ~4ms
>
> (*) 100mbit link after the switch, ifconfig eth0 shows no drops,
>    so I'm assuming they are getting dropped by the switch.
>
> --
> Tobias                                          PGP: http://8ef7ddba.uguu.de



-- 
Dave Täht
SKYPE: davetaht
US Tel: 1-239-829-5608
http://www.bufferbloat.net
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] move privoxy startup to later in boot process

2012-05-20 Thread Adam Gensler
When using privoxy as a transparent HTTP proxy a race condition occurs 
where privoxy may attempt to startup and start listening on the LAN 
interface before the network configuration is completed. As a result 
privoxy fails to start up because it can't bind to the correct listening 
address. This patch changes the init.d script to be a little bit later 
in the boot process.


Signed-off-by: Adam Gensler 
---
Index: packages/net/privoxy/files/privoxy.init
===
--- packages/net/privoxy/files/privoxy.init (revision 31828)
+++ packages/net/privoxy/files/privoxy.init (working copy)
@@ -1,8 +1,8 @@
 #!/bin/sh /etc/rc.common
 # Copyright (C) 2006-2011 OpenWrt.org
 
-START=50
-STOP=50
+START=80
+STOP=80
 
 SERVICE_USE_PID=1
 
Index: packages/net/privoxy/Makefile
===
--- packages/net/privoxy/Makefile   (revision 31828)
+++ packages/net/privoxy/Makefile   (working copy)
@@ -9,7 +9,7 @@
 
 PKG_NAME:=privoxy
 PKG_VERSION:=3.0.19
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-stable-src.tar.gz
 PKG_SOURCE_URL:=@SF/ijbswa
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] Failsafe "make kernel_menuconfig"

2012-05-20 Thread kalyan
Hi Thomas,
Yes, CONFIG_TARGET=env solves my problem from trunk.
Thanks for pointing out this usage. Probably documentation would also help
on CONFIG_TARGET usage.

Btw, i got error while i did "make CONFIG_TARGET=env kernel_menuconfig"
since there was no $(TOPDIR)/env already present. Perhaps the following
change would help not throw up the error?:

Index: include/target.mk
===
--- include/target.mk   (revision 31785)
+++ include/target.mk   (working copy)
@@ -144,6 +144,7 @@
 ifeq ($(CONFIG_TARGET),env)
   LINUX_RECONFIG_LIST = $(LINUX_KCONFIG_LIST)
   LINUX_RECONFIG_TARGET = $(TOPDIR)/env/kernel-config
+  $(shell mkdir -p $(TOPDIR)/env)
 endif

 __linux_confcmd = $(SCRIPT_DIR)/kconfig.pl $(2) $(patsubst %,+,$(wordlist
2,,$(1))) $(1)


Regards
Kalyan


On Sun, May 20, 2012 at 8:24 PM, Thomas Langer wrote:

>  Hi Kalyan,
>
> with your change it is not possible anymore for a developer to use this
> command for editing the configuration of a target or subtarget.
> But this is the main functionality behind this.
>
> Have you had a look at the existing option to do "make kernel_menuconfig
> CONFIG_TARGET={platform,subtarget,env}"?
> You removed this feature by not using LINUX_RECONFIG_TARGET anymore.
> Maybe your problem would already be solved by making "CONFIG_TARGET=env"
> the default?
>
> If you differentiate between "users" and "developers", the question is,
> why a "user" has to do "make kernel_menuconfig" at all.
> For me it looks like these options should be provided by the normal "make
> menuconfig" instead.
>
> Best regards,
> Thomas
>
> Am 20.05.2012 15:15, schrieb kalyan:
>
> Hi All,
> The current implementation of the build system for handling "make
> kernel_menuconfig" involves modifying the default configurations under
> target/linux/.
>
>  A side affect of this process is that the default configuration under
> target/linux is now lost.While within the version control system it is
> possible to recover the default configuration, there is no way to recover
> it outside version control system. The only fall back is to refer to
> originally shipped openwrt tar ball/SDK agin.
>
>  The attached patch attempts to tackle this problem. The patch creates
> .config.user under kernel build directory for changes done through "make
> kernel_menuconfig".If the developer wants to go back to default
> configuration, "make kernel_defconfig" is sufficient. If the developer is
> interested in viewing his/her changes,"make kernel_user" can show them.
>
>  The above solution does not touch the default configurations under
> target/linux while still achieving original build system goal of providing
> flexibility to developer to change kernel configuration.
>
>  I would like to get feedback on the patch and wether such enhancement
> can make its way to trunk.
>
> Thanks and Regards
> Kalyan
>
>
> ___
> openwrt-devel mailing 
> listopenwrt-devel@lists.openwrt.orghttps://lists.openwrt.org/mailman/listinfo/openwrt-devel
>
>
>
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] BQL support in Ethernet drivers (and Kathie Nichols and Van Jacobson's new AQM, codel)

2012-05-20 Thread Tobias Diedrich
Tobias Diedrich wrote:
> Dave Taht wrote:
> > In looking over the enormous stack of boards and drivers that openwrt
> > supports, I see that many of the ethernet drivers don't yet support
> > Linux 3.3's "Byte Queue Limits", which are discussed here:
> > 
> > http://lwn.net/Articles/454390/
> > 
> > It would be good if more did. They improve network performance in the
> > general case enormously, particularly when a link is not connected at
> > it's peak wire speed.
> > 
> > *Adding* support for BQL to an ethernet driver is trivial, here's an
> > example of how.
> 
> I tried adding BQL to the ramips ethernet driver, however I found
> some interesting behaviour while doing
> "root@OpenWrt:~# netperf -l 120 -t UDP_STREAM -H myserver"
> 
> It looks like the briding code still needs to implement this as well?
> 
> netperf UDP_STREAM:
> iface  limit_min   inflight  tx mbps  remote mbps  ping ms
> eth0   0   ~1500095.7195.71~10ms
> eth0   100 ~30   177.98   23.28(*) ~30ms
> br00   ~15000154.88   33.94(*) ~120ms
> br0100 ~30   170.92   25.57(*) ~30ms
> 
> (*) bwm-ng on the server showed ~100mbps incoming...
[...]
> Haven't tried codel yet...

Turns out, it works nicely with codel, even with the bridge:

netperf:  netperf -l 120 -t UDP_STREAM -H myserver
fq_codel: tc qdisc add dev eth0 handle 1: root fq_codel target 5ms

iface  eth0 qdisc  bql  inflight  tx mbpssys time  ping ms
eth0   pfifo_fast  no   n/a   182.98(*)  96.43s~30ms
eth0   fq_codelno   n/a   177.98(*)  96.09s~30ms
eth0   pfifo_fast  yes  ~1500095.71  42.73s~10ms
eth0   fq_codelyes  ~1500095.19  51.52s~4ms
br0pfifo_fast  yes  ~15000155.19(*)  94.24s~120ms
br0fq_codelyes  ~1500090.92  65.52s~4ms

(*) 100mbit link after the switch, ifconfig eth0 shows no drops,
so I'm assuming they are getting dropped by the switch.

-- 
Tobias  PGP: http://8ef7ddba.uguu.de
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] erlang: Version bump to R15B01

2012-05-20 Thread Mark Wolfe

Updated lang/erlang package with some adjustments for the new version.

Signed-off-by: Mark Wolfe 

Index: lang/erlang/patches/103-disable_emacs.patch
===
--- lang/erlang/patches/103-disable_emacs.patch (revision 0)
+++ lang/erlang/patches/103-disable_emacs.patch (revision 0)
@@ -0,0 +1,11 @@
+--- a/lib/tools/Makefile
 b/lib/tools/Makefile
+@@ -23,7 +23,7 @@ include $(ERL_TOP)/make/$(TARGET)/otp.mk
+ # Macros
+ # 
+ 
+-SUB_DIRECTORIES = c_src src doc/src examples priv emacs
++SUB_DIRECTORIES = c_src src doc/src examples priv
+ 
+ include vsn.mk
+ VSN = $(TOOLS_VSN)
Index: lang/erlang/patches/102-relative_symlinks.patch
===
--- lang/erlang/patches/102-relative_symlinks.patch (revision 31821)
+++ lang/erlang/patches/102-relative_symlinks.patch (working copy)
@@ -1,25 +0,0 @@
 a/Makefile.in
-+++ b/Makefile.in
-@@ -809,9 +809,10 @@ install.Install:
- # Install erlang base public files
- #
- install.bin:
-+  cd $(BINDIR); \
-   for file in $(ERL_BASE_PUB_FILES); do \
-   rm -f $(BINDIR)/$$file; \
--  ${LN_S} $(ERLANG_BINDIR)/$$file $(BINDIR)/$$file; \
-+  ${LN_S} ../lib/erlang/bin/$$file .; \
-   done
- 
- #
 a/erts/etc/unix/Install.src
-+++ b/erts/etc/unix/Install.src
-@@ -104,7 +104,7 @@ if [ -h epmd ]; then
-   /bin/rm -f epmd
- fi
- 
--ln -s $ERL_ROOT/erts-%I_VSN%/bin/epmd epmd
-+ln -s ../erts-%I_VSN%/bin/epmd epmd
- 
- cp -p $ERL_ROOT/erts-%I_VSN%/bin/run_erl .
- cp -p $ERL_ROOT/erts-%I_VSN%/bin/to_erl .
Index: lang/erlang/Makefile
===
--- lang/erlang/Makefile(revision 31821)
+++ lang/erlang/Makefile(working copy)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=erlang
-PKG_VERSION:=R13A
-PKG_RELEASE:=2
+PKG_VERSION:=R15B01
+PKG_RELEASE:=1
 
 PKG_SOURCE:=otp_src_$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:= http://www.erlang.org/download/ \
http://erlang.mirror.su.se/ 
-PKG_MD5SUM:=76804ff9c18710184cf0c0230a0443fc
+PKG_MD5SUM:=f12d00f6e62b36ad027d6c0c08905fad
 
 PKG_BUILD_DEPENDS:=erlang/host openssl
 
@@ -42,7 +42,7 @@
 define Package/erlang
 $(call Package/erlang/Default)
   DEPENDS+= +libncurses +librt
-  PROVIDES:= erlang-erts=5.7 erlang-kernel=2.13 erlang-sasl=2.1.6 
erlang-stdlib=1.16
+  PROVIDES:= erlang-erts=5.9 erlang-kernel=2.15 erlang-sasl=2.2 
erlang-stdlib=1.18
 endef
 
 define Package/erlang/description
@@ -56,7 +56,7 @@
 define Package/erlang-asn1
 $(call Package/erlang/Default)
   TITLE:=Abstract Syntax Notation One (ASN.1) support
-  VERSION:=1.6.8
+  VERSION:=1.6.19
   DEPENDS+= +erlang +erlang-syntax-tools
 endef
 
@@ -71,7 +71,7 @@
 define Package/erlang-compiler
 $(call Package/erlang/Default)
   TITLE:=Byte code compiler
-  VERSION:=4.6
+  VERSION:=4.8
   DEPENDS+= +erlang +erlang-hipe
 endef
 
@@ -86,7 +86,7 @@
 define Package/erlang-crypto
 $(call Package/erlang/Default)
   TITLE:=Cryptography support
-  VERSION:=4.6
+  VERSION:=2.1
   DEPENDS+= +erlang +libopenssl
 endef
 
@@ -101,7 +101,7 @@
 define Package/erlang-hipe
 $(call Package/erlang/Default)
   TITLE:=High Performance Erlang
-  VERSION:=5.0.13
+  VERSION:=3.9
   DEPENDS+= +erlang
 endef
 
@@ -116,7 +116,7 @@
 define Package/erlang-inets
 $(call Package/erlang/Default)
   TITLE:=Internet clients and servers
-  VERSION:=5.0.13
+  VERSION:=5.8
   DEPENDS+= +erlang
 endef
 
@@ -132,7 +132,7 @@
 define Package/erlang-mnesia
 $(call Package/erlang/Default)
   TITLE:=Distributed database
-  VERSION:=4.4.8
+  VERSION:=4.6
   DEPENDS+= +erlang
 endef
 
@@ -149,7 +149,7 @@
 define Package/erlang-runtime-tools
 $(call Package/erlang/Default)
   TITLE:=Low-profile debugging/tracing tools
-  VERSION:=1.8
+  VERSION:=1.8.7
   DEPENDS+= +erlang
 endef
 
@@ -164,7 +164,7 @@
 define Package/erlang-snmp
 $(call Package/erlang/Default)
   TITLE:=Simple Network Management Protocol (SNMP) support
-  VERSION:=4.13
+  VERSION:=4.21.4
   DEPENDS+= +erlang +erlang-asn1
 endef
 
@@ -180,7 +180,7 @@
 define Package/erlang-ssh
 $(call Package/erlang/Default)
   TITLE:=Secure Shell (SSH) support
-  VERSION:=1.1.1
+  VERSION:=2.0.9
   DEPENDS+= +erlang +erlang-crypto
 endef
 
@@ -195,7 +195,7 @@
 define Package/erlang-ssl
 $(call Package/erlang/Default)
   TITLE:=Secure Sockets Layer (SSL) support
-  VERSION:=3.10.1
+  VERSION:=5.0
   DEPENDS+= +erlang +erlang-crypto
 endef
 
@@ -210,7 +210,7 @@
 define Package/erlang-syntax-tools
 $(call Package/erlang/Default)
   TITLE:=Abstract Erlang syntax trees handling support
-  VERSION:=1.6
+  VERSION:=1.6.7.2
   DEPENDS+= +erlang
 endef
 
@@ -225,15 +225,11 @@
 # Host
 
 HOST_CONFIGURE_ARGS += \
+   --disable-nls \
--disable-hipe \
--disable-smp-support \
-   --without-java \
--without-ssl
 
-HOST_CONFIGURE_VARS += \
-   ac_cv_prog_JA

[OpenWrt-Devel] [PATCH] vim - add xxd tool

2012-05-20 Thread Luka Perkov
xxd tool is nice when you want to get hex output from a file.

Dump whole flash from the device:

$ xxd /dev/mtdX

Capture the output from terminal (I used tee), do some basic vim magic
and on host pc recreate binary:

$ xxd -r /name/of/hex/dump /name/of/output/binary/file

Package is also cleaned up.

Signed-off-by: Luka Perkov 
---

 utils/vim/Makefile|   73 +
 utils/vim/files/vimrc |   23 +
 utils/vim/files/vimrc.full|   40 
 utils/vim/patches/001-cross_compile.patch |9 ++--
 4 files changed, 79 insertions(+), 66 deletions(-)

diff --git a/utils/vim/Makefile b/utils/vim/Makefile
index 230b5d4..277fd30 100644
--- a/utils/vim/Makefile
+++ b/utils/vim/Makefile
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2006-2012 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -50,6 +50,13 @@ define Package/vim-help
   TITLE+= (help files)
 endef
 
+define Package/xxd
+  SECTION:=utils
+  CATEGORY:=Utilities
+  TITLE:=make a hexdump or do the reverse
+  URL:=http://www.vim.org/
+endef
+
 define Package/vim-full/conffiles
 /usr/share/vim/vimrc
 endef
@@ -59,25 +66,29 @@ define Package/vim/conffiles
 endef
 
 define Package/vim/description
-   Vim is an almost compatible version of the UNIX editor Vi.
-   (Tiny build)
+ Vim is an almost compatible version of the UNIX editor Vi.
+ (Tiny build)
 endef
 
 define Package/vim-full/description
-   Vim is an almost compatible version of the UNIX editor Vi.
-   (Normal build)
+ Vim is an almost compatible version of the UNIX editor Vi.
+ (Normal build)
 endef
 
 define Package/vim-runtime/description
-   Vim is an almost compatible version of the UNIX editor Vi.
-   (Runtime files)
+ Vim is an almost compatible version of the UNIX editor Vi.
+ (Runtime files)
 endef
 
 define Package/vim-help/description
-   Vim is an almost compatible version of the UNIX editor Vi.
-   (Help files)
+ Vim is an almost compatible version of the UNIX editor Vi.
+ (Help files)
+endef
+
+define Package/xxd/description
+ xxd creates a hex dump of a given file or standard input, it can also convert
+ a hex dump back to its original binary form.
 endef
-   
 
 CONFIGURE_ARGS += \
--disable-gui \
@@ -90,25 +101,24 @@ CONFIGURE_ARGS += \
--with-tlib=ncurses
 
 CONFIGURE_VARS += \
-vim_cv_getcwd_broken=no \
-vim_cv_memmove_handles_overlap=yes \
-vim_cv_stat_ignores_slash=yes \
-vim_cv_tgetent=zero \
-vim_cv_terminfo=yes \
-vim_cv_toupper_broken=no \
-vim_cv_tty_group=root \
-vim_cv_tty_mode=0620
+   vim_cv_getcwd_broken=no \
+   vim_cv_memmove_handles_overlap=yes \
+   vim_cv_stat_ignores_slash=yes \
+   vim_cv_tgetent=zero \
+   vim_cv_terminfo=yes \
+   vim_cv_toupper_broken=no \
+   vim_cv_tty_group=root \
+   vim_cv_tty_mode=0620
 
 ifneq ($(CONFIG_PACKAGE_vim),)
 define Build/Compile/vim
$(call Build/Configure/Default, \
- --with-features=tiny \
- --disable-multibyte \
-)
+   --with-features=tiny \
+   --disable-multibyte \
+   )
$(MAKE) -C $(PKG_BUILD_DIR) clean
$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
- DESTDIR="$(PKG_INSTALL_DIR)" \
- all
+   DESTDIR="$(PKG_INSTALL_DIR)" all
$(CP) $(PKG_BUILD_DIR)/src/$(PKG_NAME) $(PKG_BUILD_DIR)/vim_tiny
 endef
 endif
@@ -116,13 +126,12 @@ endif
 ifneq ($(CONFIG_PACKAGE_vim-full),)
 define Build/Compile/vim-full
$(call Build/Configure/Default, \
- --with-features=normal \
- --enable-multibyte \
+   --with-features=normal \
+   --enable-multibyte \
)
$(MAKE) -C $(PKG_BUILD_DIR) clean
$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
- DESTDIR="$(PKG_INSTALL_DIR)" \
- all
+   DESTDIR="$(PKG_INSTALL_DIR)" all
$(CP) $(PKG_BUILD_DIR)/src/$(PKG_NAME) $(PKG_BUILD_DIR)/vim_normal
 endef
 endif
@@ -134,9 +143,6 @@ define Build/Compile/vim-runtime
rm -rf $(PKG_INSTALL_DIR)/usr/man
 endef
 
-define Build/Configure
-endef
-
 define Build/Compile
 $(call Build/Compile/vim)
 $(call Build/Compile/vim-full)
@@ -167,8 +173,13 @@ define Package/vim-help/install
tar -C $(1) -xf $(PKG_BUILD_DIR)/docs.tar
 endef
 
+define Package/xxd/install
+   $(INSTALL_DIR) $(1)/usr/bin
+   $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/xxd/xxd $(1)/usr/bin
+endef
+
 $(eval $(call BuildPackage,vim))
 $(eval $(call BuildPackage,vim-full))
 $(eval $(call BuildPackage,vim-runtime))
 $(eval $(call BuildPackage,vim-help))
-
+$(eval $(call BuildPackage,xxd))
diff --git a/utils/vim/files/vimrc b/utils/vim/files/vimrc
index 792d680..00b952d 100644
--- a/utils/vim/files/vimrc
+++ b/utils/vim/files/vimrc
@@ -1,13 +1,1

[OpenWrt-Devel] [PATCH] ramips: Add byte queue limits support to net/ethernet/ramips_main.c

2012-05-20 Thread Tobias Diedrich
Add byte queue limits support to net/ethernet/ramips_main.c

"Byte queue limits are a mechanism to limit the size of the transmit
hardware queue on a NIC by number of bytes. The goal of these byte
limits is too reduce latency (HOL blocking) caused by excessive
queuing in hardware (aka buffer bloat) without sacrificing
throughput."

Signed-off-by: Tobias Diedrich 

Index: target/linux/ramips/files/drivers/net/ethernet/ramips/ramips_main.c
===
--- target/linux/ramips/files/drivers/net/ethernet/ramips/ramips_main.c 
(revision 31626)
+++ target/linux/ramips/files/drivers/net/ethernet/ramips/ramips_main.c 
(working copy)
@@ -177,6 +177,8 @@
txi->tx_skb = NULL;
}
}
+
+   netdev_reset_queue(re->netdev);
 }
 
 #if defined(CONFIG_RALINK_RT288X) || defined(CONFIG_RALINK_RT3883)
@@ -699,6 +701,7 @@
dev->stats.tx_packets++;
dev->stats.tx_bytes += skb->len;
ramips_fe_wr(tx_next, RAMIPS_TX_CTX_IDX0);
+   netdev_sent_queue(dev, skb->len);
spin_unlock(&re->page_lock);
return NETDEV_TX_OK;
 
@@ -780,6 +783,7 @@
 {
struct net_device *dev = (struct net_device*)ptr;
struct raeth_priv *re = netdev_priv(dev);
+   unsigned int bytes_compl = 0, pkts_compl = 0;
 
spin_lock(&re->page_lock);
while (1) {
@@ -792,12 +796,16 @@
if (!(txd->txd2 & TX_DMA_DONE) || !(txi->tx_skb))
break;
 
+   pkts_compl++;
+   bytes_compl += txi->tx_skb->len;
+
dev_kfree_skb_irq(txi->tx_skb);
txi->tx_skb = NULL;
re->skb_free_idx++;
if (re->skb_free_idx >= NUM_TX_DESC)
re->skb_free_idx = 0;
}
+   netdev_completed_queue(dev, pkts_compl, bytes_compl);
spin_unlock(&re->page_lock);
 
ramips_fe_int_enable(RAMIPS_TX_DLY_INT);

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] BQL support in Ethernet drivers (and Kathie Nichols and Van Jacobson's new AQM, codel)

2012-05-20 Thread Tobias Diedrich
Dave Taht wrote:
> In looking over the enormous stack of boards and drivers that openwrt
> supports, I see that many of the ethernet drivers don't yet support
> Linux 3.3's "Byte Queue Limits", which are discussed here:
> 
> http://lwn.net/Articles/454390/
> 
> It would be good if more did. They improve network performance in the
> general case enormously, particularly when a link is not connected at
> it's peak wire speed.
> 
> *Adding* support for BQL to an ethernet driver is trivial, here's an
> example of how.

I tried adding BQL to the ramips ethernet driver, however I found
some interesting behaviour while doing
"root@OpenWrt:~# netperf -l 120 -t UDP_STREAM -H myserver"

It looks like the briding code still needs to implement this as well?

netperf UDP_STREAM:
iface  limit_min   inflight  tx mbps  remote mbps  ping ms
eth0   0   ~1500095.7195.71~10ms
eth0   100 ~30   177.98   23.28(*) ~30ms
br00   ~15000154.88   33.94(*) ~120ms
br0100 ~30   170.92   25.57(*) ~30ms

(*) bwm-ng on the server showed ~100mbps incoming...

It is notable that the internal interface to the cpu is 1000Mbit,
while the external interface after the built-in switch is only
100Mbit on this device and the switch can drop packets if
the incoming rate is too high.

The switch defaults are:
Back pressure mode: JAM all until BP condition is released
BP_JAM_CNT: 10 (10 packet jam, then one no-jam)
It also supports 'carrier insertion' instead of jamming.
And there are some flow control threshold values that could be
tweaked.

Haven't tried codel yet...

-- 
Tobias  PGP: http://8ef7ddba.uguu.de
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] Some snapshot config files not accessible

2012-05-20 Thread Daniel Harding

Hello all,

I was trying to access the config file for brcm47xx under 
http://downloads.openwrt.org/snapshots/trunk/, to use as the starting 
point for some builds of my own.  However, I received a 403 Forbidden 
error.  I tried a few other targets - some worked fine, but others also 
gave 403.  Some examples of targets with inaccessible configs:


adm5120
atheros
brcm47xx

I suspect a simple file permissions problem on the website - should I 
file a bug about this, or is this email sufficient?


Thanks,

Daniel Harding

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



[OpenWrt-Devel] [PATCH] upgrade baresip, restund, libre, librem to version 0.4.1

2012-05-20 Thread Alfred E. Heggestad

Hi,


this patch upgrades the following packages to v0.4.1:

  baresip v0.4.1 (Portable and modular SIP User-Agent with audio and video 
support)
  restund v0.4.1 (Modular STUN/TURN server)
  libre   v0.4.1 (Generic library for real-time communications with async IO 
support)
  librem  v0.4.1 (Audio and video processing media library)


detailed changes can be found in /docs/ChangeLog
(See http://www.creytiv.com/)


Please review and apply if OK.


Signed-Off-By: Alfred E. Heggestad 
---
Index: feeds/packages/net/restund/Makefile
===
--- feeds/packages/net/restund/Makefile (revision 31831)
+++ feeds/packages/net/restund/Makefile (working copy)
@@ -9,12 +9,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=restund
-PKG_VERSION:=0.4.0
+PKG_VERSION:=0.4.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.creytiv.com/pub/
-PKG_MD5SUM:=fcfda012e04b5402e898da211dc10b6b
+PKG_MD5SUM:=e11da0acd10af42ce6101f3106cd34dc
 
 restund-mods:= \
mysql \
Index: feeds/packages/net/baresip/Makefile
===
--- feeds/packages/net/baresip/Makefile (revision 31831)
+++ feeds/packages/net/baresip/Makefile (working copy)
@@ -9,12 +9,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=baresip
-PKG_VERSION:=0.4.0
-PKG_RELEASE:=2
+PKG_VERSION:=0.4.1
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.creytiv.com/pub/
-PKG_MD5SUM:=770a13543866e801f6544e194097e911
+PKG_MD5SUM:=1574e40bace9593ec40c527299654bb6
 
 baresip-mods:= \
alsa \
@@ -70,6 +70,8 @@
MOD_AUTODETECT= \
$(foreach m,$(baresip-mods),$(baresip-mod-$(m))=$(if 
$(CONFIG_PACKAGE_baresip-mod-$(m)),1))
 
+TARGET_CFLAGS += $(FPIC)
+
 define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
LIBRE_MK="$(STAGING_DIR)/usr/share/re/re.mk" \
Index: feeds/packages/libs/re/Makefile
===
--- feeds/packages/libs/re/Makefile (revision 31831)
+++ feeds/packages/libs/re/Makefile (working copy)
@@ -9,12 +9,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=re
-PKG_VERSION:=0.4.0
+PKG_VERSION:=0.4.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.creytiv.com/pub
-PKG_MD5SUM:=77469714212b40ec7f224ad8648f91d2
+PKG_MD5SUM:=cff9e0d2bfec09c84e316faaf202809b
 
 include $(INCLUDE_DIR)/package.mk
 
Index: feeds/packages/libs/rem/Makefile
===
--- feeds/packages/libs/rem/Makefile(revision 31831)
+++ feeds/packages/libs/rem/Makefile(working copy)
@@ -9,12 +9,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=rem
-PKG_VERSION:=0.4.0
+PKG_VERSION:=0.4.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.creytiv.com/pub
-PKG_MD5SUM:=0d5cf133a62d11a2f80875a8fa7adab6
+PKG_MD5SUM:=bfac8837974e911bd4d4017a8f1ce39b
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -53,6 +53,7 @@
 endef
 
 define Package/librem/install
+   rm -f $(BUILD_DIR)/$(PKG_NAME)
ln -sf $(PKG_NAME)-$(PKG_VERSION) $(BUILD_DIR)/$(PKG_NAME)
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/librem.so $(1)/usr/lib/
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] Failsafe "make kernel_menuconfig"

2012-05-20 Thread Thomas Langer

Hi Kalyan,

with your change it is not possible anymore for a developer to use this 
command for editing the configuration of a target or subtarget.

But this is the main functionality behind this.

Have you had a look at the existing option to do "make kernel_menuconfig 
CONFIG_TARGET={platform,subtarget,env}"?

You removed this feature by not using LINUX_RECONFIG_TARGET anymore.
Maybe your problem would already be solved by making "CONFIG_TARGET=env" 
the default?


If you differentiate between "users" and "developers", the question is, 
why a "user" has to do "make kernel_menuconfig" at all.
For me it looks like these options should be provided by the normal 
"make menuconfig" instead.


Best regards,
Thomas

Am 20.05.2012 15:15, schrieb kalyan:

Hi All,
The current implementation of the build system for handling "make 
kernel_menuconfig" involves modifying the default configurations under 
target/linux/.


A side affect of this process is that the default configuration under 
target/linux is now lost.While within the version control system it is 
possible to recover the default configuration, there is no way to 
recover it outside version control system. The only fall back is to 
refer to originally shipped openwrt tar ball/SDK agin.


The attached patch attempts to tackle this problem. The patch creates 
.config.user under kernel build directory for changes done through 
"make kernel_menuconfig".If the developer wants to go back to default 
configuration, "make kernel_defconfig" is sufficient. If the developer 
is interested in viewing his/her changes,"make kernel_user" can show them.


The above solution does not touch the default configurations under 
target/linux while still achieving original build system goal of 
providing flexibility to developer to change kernel configuration.


I would like to get feedback on the patch and wether such enhancement 
can make its way to trunk.


Thanks and Regards
Kalyan


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] Failsafe "make kernel_menuconfig"

2012-05-20 Thread kalyan
Hi All,
The current implementation of the build system for handling "make
kernel_menuconfig" involves modifying the default configurations under
target/linux/.

A side affect of this process is that the default configuration under
target/linux is now lost.While within the version control system it is
possible to recover the default configuration, there is no way to recover
it outside version control system. The only fall back is to refer to
originally shipped openwrt tar ball/SDK agin.

The attached patch attempts to tackle this problem. The patch creates
.config.user under kernel build directory for changes done through "make
kernel_menuconfig".If the developer wants to go back to default
configuration, "make kernel_defconfig" is sufficient. If the developer is
interested in viewing his/her changes,"make kernel_user" can show them.

The above solution does not touch the default configurations under
target/linux while still achieving original build system goal of providing
flexibility to developer to change kernel configuration.

I would like to get feedback on the patch and wether such enhancement can
make its way to trunk.

Thanks and Regards
Kalyan


failsafe-kernel-menuconfig.patch
Description: Binary data
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel