[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190302185500.j4oow3x5rgl6pjvq@ast-mbp.dhcp.thefacebook.com>
Date: Sat, 2 Mar 2019 10:55:01 -0800
From: Alexei Starovoitov <alexei.starovoitov@...il.com>
To: brakmo <brakmo@...com>
Cc: netdev <netdev@...r.kernel.org>, Martin Lau <kafai@...com>,
Alexei Starovoitov <ast@...com>,
Daniel Borkmann <daniel@...earbox.net>,
Kernel Team <Kernel-team@...com>
Subject: Re: [PATCH v3 bpf-next 0/5] bpf: Host Bandwidth Manager (HBM)
On Fri, Mar 01, 2019 at 12:38:44PM -0800, brakmo wrote:
> Host Bandwidth Manager is a framework for limiting the bandwidth used
> by v2 cgroups. It consists of 1 BPF helper, a sample BPF program to
> limit egress bandwdith as well as a sample user program and script to
> simplify HBM testing.
>
> The sample HBM BPF program is not meant to be production quality, it is
> provided as proof of concept. A lot more information, including sample
> runs in some cases, are provided in the commit messages of the individual
> patches.
>
> A future patch will add support for reducing TCP's cwnd (we are evaluating
> alternatives). Another patch will add support for fair queueing's Earliest
> Departure Time. Until then, HBM is better suited for flows supporitng ECN.
>
> In addition, A BPF program to limit ingress bandwidth will be provided in
> an upcomming patchset.
>
> Changes from v1 to v2:
> * bpf_tcp_enter_cwr can only be called from a cgroup skb egress BPF
> program (otherwise load or attach will fail) where we already hold
> the sk lock. Also only applies for ESTABLISHED state.
> * bpf_skb_ecn_set_ce uses INET_ECN_set_ce()
> * bpf_tcp_check_probe_timer now uses tcp_reset_xmit_timer. Can only be
> used by egress cgroup skb programs.
> * removed load_cg_skb user program.
> * nrm bpf egress program checks packet header in skb to determine
> ECN value. Now also works for ECN enabled UDP packets.
> Using ECN_ defines instead of integers.
> * NRM script test program now uses bpftool instead of load_cg_skb
>
> Changes from v2 to v3:
> * Changed name from NRM (Network Resource Manager) to HBM (Host
> Bandwdith Manager)
> * The bpf helper to set ECN ce now checks that the header is writeable
> * Removed helper bpf functions that modified TCP state due to a concern
> about whether the socket is locked by the current thread.
Applied, Thanks
Powered by blists - more mailing lists