From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt0-x22e.google.com (mail-qt0-x22e.google.com [IPv6:2607:f8b0:400d:c0d::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 1E8743BA8E for ; Tue, 5 Dec 2017 19:06:20 -0500 (EST) Received: by mail-qt0-x22e.google.com with SMTP id m59so5073757qte.11 for ; Tue, 05 Dec 2017 16:06:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to :content-transfer-encoding; bh=cDHh2TXWqG4SSYm31mBcOmCVo4H8WBD3xJ0vVdtTrJQ=; b=s8661XfV+WAOeF60CXoK/jNBw0VdoBbedkP3vYYz7CMOF+04QWmzqZZdv8iz45snqG YxJzp7PbPe5aJl8kI2CRaFC9BHWAq0PgZPPkHB3bWUUdX0dTBCo/AZCxe7nv8t0FBavC cVeElTc8HdPJILOZjCJf9Wi/fsGoRCQhXGwIj4XWcHDeo+EhSkUaTdFyhXKyYNyN53TH ZVahWRLUM9x0VbhWP6ELgnUsl8Gf1Y6bk2mMVIEB2OEYMGU+xZYGgBWc/kLy+7KLydLC 3gMKljccSb72viZhdr0HcgBaMAj7ADefxBkThhQbwU5dDl1/8mZNaOWYZqpTFhTjssRM JB9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to :content-transfer-encoding; bh=cDHh2TXWqG4SSYm31mBcOmCVo4H8WBD3xJ0vVdtTrJQ=; b=LOso7eG6XNPg7VGtx82TPXIM/bhHzMZP33Kd8u/WUkAmsbR7fPZ/ausX7VEUSj7tUa jGh6OzIv2/4mCwv325IwUY8gXWMxNUpjivtSjawxN2iQFnnwAVDZpmgvngfsVR9i/0Qo MAKOY6cR9Ksl8kKe52rLCnNAWiexi/WgncmjyESy/ZLd8gkFZ18LDkoWoft9bvftdS6g qn5q1T7j1Z9CMdyLZ4d1bAvlRioIf13sg48Ku00K79UpeCZjNIEAJkRMqvDwWlCHbCFC hyroexQGny14W95rxc7U8JF5yNGu7JketispZbYIih/X3DVpdOXSHIwUo/nOb6Mqb0oT K7sw== X-Gm-Message-State: AKGB3mJUr2PC6Ado0CHGoNjXtsdqSey62On2nG8ntV2TBDnjYWF20MoV ayhsBjwK9EA1j8V9djKOL7dHes0XBJPEO4+re90WEg== X-Google-Smtp-Source: AGs4zMa+b+UTtYD5U89aXjCw+YezmlDokwu6dTN6+YywKCWSKgXzDq66WbWEn5UacA/t8neHlOXga9f+f6hHLW/yY6Q= X-Received: by 10.55.154.85 with SMTP id c82mr24239243qke.327.1512518779470; Tue, 05 Dec 2017 16:06:19 -0800 (PST) MIME-Version: 1.0 Received: by 10.12.193.93 with HTTP; Tue, 5 Dec 2017 16:06:18 -0800 (PST) From: Dave Taht Date: Tue, 5 Dec 2017 16:06:18 -0800 Message-ID: To: Cake List Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: [Cake] options for shrinking cake xstats X-BeenThere: cake@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: Cake - FQ_codel the next generation List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Dec 2017 00:06:20 -0000 as 1400+ bytes on the parisc stack, is a bit much. That said, I don't see much possibility for shrinkage overall. A) if we resort to having a struct new_cake_xstats[q->tin_cnt], we still end up with a big stack on the diffserv8 case (that won't get caught by a static checker) B) I'm on record as disliking any statistics calculation that is not directly needed by the algorithm. Putting my asbestos suit on, that's peak_delay_us, avge_delay_us, base_delay_us, way_indirect_hits, way_misses, way_collisions, bulk_flow_count, and a few others. C) Can we return a tuple to tc saying "we have 8 queues, poll me for each"? D) Put the extended stats in sysfs, instead? E) ?? struct tc_cake_traffic_stats { __u32 packets; __u32 link_ms; // essentially unused, but we could promote packets to u64. __u64 bytes; }; #define TC_CAKE_MAX_TINS (8) struct tc_cake_xstats { __u16 version; /* =3D=3D 5, increments when struct extended */ __u8 max_tins; /* =3D=3D TC_CAKE_MAX_TINS */ __u8 tin_cnt; /* <=3D TC_CAKE_MAX_TINS */ __u32 threshold_rate[TC_CAKE_MAX_TINS]; __u32 target_us[TC_CAKE_MAX_TINS]; struct tc_cake_traffic_stats sent[TC_CAKE_MAX_TINS]; struct tc_cake_traffic_stats dropped[TC_CAKE_MAX_TINS]; struct tc_cake_traffic_stats ecn_marked[TC_CAKE_MAX_TINS]; struct tc_cake_traffic_stats backlog[TC_CAKE_MAX_TINS]; __u32 interval_us[TC_CAKE_MAX_TINS]; __u32 way_indirect_hits[TC_CAKE_MAX_TINS]; __u32 way_misses[TC_CAKE_MAX_TINS]; __u32 way_collisions[TC_CAKE_MAX_TINS]; __u32 peak_delay_us[TC_CAKE_MAX_TINS]; /* ~=3D bulk flow delay */ __u32 avge_delay_us[TC_CAKE_MAX_TINS]; __u32 base_delay_us[TC_CAKE_MAX_TINS]; /* ~=3D sparse flows delay *= / __u16 sparse_flows[TC_CAKE_MAX_TINS]; __u16 bulk_flows[TC_CAKE_MAX_TINS]; __u16 unresponse_flows[TC_CAKE_MAX_TINS]; /* v4 - was u32 last_len = */ __u16 spare[TC_CAKE_MAX_TINS]; /* v4 - split last_len */ __u32 max_skblen[TC_CAKE_MAX_TINS]; __u32 capacity_estimate; /* version 2 */ __u32 memory_limit; /* version 3 */ __u32 memory_used; /* version 3 */ struct tc_cake_traffic_stats ack_drops[TC_CAKE_MAX_TINS]; /* v5 */ }; --=20 Dave T=C3=A4ht CEO, TekLibre, LLC http://www.teklibre.com Tel: 1-669-226-2619