From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id C60423B2A4 for ; Tue, 15 Oct 2019 13:19:03 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1571159943; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aiICBq+klD7gts5SC7Lw3KPTDcrLbo2thywzxGgTe5U=; b=a8ygi3Z5h1JihYNzjpsxf73M0d5eNV0TVdqPxenhfRFl5uO3iAUgymhOCQS/BFtrgxvPCN ZPmFPazC/Luiio3y0xHMXjiEB6jzXYclNE5Kax7J34PtpV5Xety5ONe+7+5nRQDvbeQjWw zvSDU7ZLPFKAapPSfP5t6yRUvUa6f2I= Received: from mail-lj1-f199.google.com (mail-lj1-f199.google.com [209.85.208.199]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-36-mNp36GyqNEOFlzmNgZ5Jwg-1; Tue, 15 Oct 2019 13:19:01 -0400 Received: by mail-lj1-f199.google.com with SMTP id r22so4047644ljg.15 for ; Tue, 15 Oct 2019 10:19:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:date:message-id:user-agent :mime-version:content-transfer-encoding; bh=Y9ZicZO6b29gZwYmEAgc0Vga9o23GaUpVran/Wv7Gas=; b=A6b3fAqewMjWs3aM7tXQFPKIo3uJ63tp51JDaoUUkaF6XAeEtN3Ni8d1GIYMN0iSJd SF6rAFu4Et2MoNVmg3cgFZ+5aXdo+5Uk0mgMCiLiSKIwhb+LA1jTHKW1UpePgNU9L9n2 MGhHcfmTokGJvbszNNeNReqyDa6HKpGX+ogK35PXaoBUdva7y8w5FoB5RtmBR61r2jGH +bZyEzI2ewjUurmt7/66iA0FOWy1YeaXx6CJW0edn1ZFQWPMtc7OLMo7NiN+dcE+DSB/ ZYJGhml11TCjnqSLQkvNfCq3EwfZ5v5yRznwERsKrfCDmpjO251Ml5IhbSuMgQaf8HkX Oyvg== X-Gm-Message-State: APjAAAUu2XAPUYk8mRFK6HSIRSH0X0W58trzblOcsDeiYgD8/eVQIXoR 4YMn9NpOfIX1bgQfObr9CP0d4vv4JqKNO2d4DlLce3SlgPJ44edzmu38SGBBcVLl/fmp+hbP71K I0GF6fD494hQTDre8k6//F2fZ33aYboX6CmA= X-Received: by 2002:ac2:46d9:: with SMTP id p25mr9407708lfo.174.1571159939659; Tue, 15 Oct 2019 10:18:59 -0700 (PDT) X-Google-Smtp-Source: APXvYqy4GGvaQ++TIAujXuUFP1I9PfblNVucnrgy1g/FJr66h0DYi2to2kGkxbuh0iD28epJYmQE3Q== X-Received: by 2002:ac2:46d9:: with SMTP id p25mr9407696lfo.174.1571159939436; Tue, 15 Oct 2019 10:18:59 -0700 (PDT) Received: from alrua-x1.borgediget.toke.dk ([2a00:7660:6da:443::2]) by smtp.gmail.com with ESMTPSA id v1sm5331272lfa.87.2019.10.15.10.18.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Oct 2019 10:18:58 -0700 (PDT) Received: by alrua-x1.borgediget.toke.dk (Postfix, from userid 1000) id A2AF31803A8; Tue, 15 Oct 2019 19:18:57 +0200 (CEST) From: =?utf-8?q?Toke_H=C3=B8iland-J=C3=B8rgensen?= To: Johannes Berg Cc: linux-wireless@vger.kernel.org, make-wifi-fast@lists.bufferbloat.net, ath10k@lists.infradead.org, John Crispin , Lorenzo Bianconi , Felix Fietkau , Kan Yan , Rajkumar Manoharan , Kevin Hayes Date: Tue, 15 Oct 2019 19:18:57 +0200 Message-ID: <157115993755.2500430.12214017471129215800.stgit@toke.dk> User-Agent: StGit/0.20 MIME-Version: 1.0 X-MC-Unique: mNp36GyqNEOFlzmNgZ5Jwg-1 X-Mimecast-Spam-Score: 0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Make-wifi-fast] [PATCH v2 0/4] Add Airtime Queue Limits (AQL) to mac80211 X-BeenThere: make-wifi-fast@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Oct 2019 17:19:03 -0000 This series is a first attempt at porting the Airtime Queue Limits concept = from the out-of-tree ath10k implementation[0] to mac80211. This version takes Ka= n's patch to do the throttling in mac80211, and replaces the driver API with th= e mechanism from the previous version of my series, which instead calculated = the expected airtime at dequeue time inside mac80211, storing it in the SKB cb field. This series also imports Felix' airtime calculation code from mt76 into mac80211, adjusting the API so it can be used from TX dequeue, by extractin= g the latest TX rate from the tx_stats structure kept for each station. As before, I've only compile tested this (lacking the proper hardware to do= more testing). So I'm hoping someone with a proper testing setup can take the wh= ole thing for a spin... :) The series is also available in my git repo here: https://git.kernel.org/pub/scm/linux/kernel/git/toke/linux.git/log/?h=3Dmac= 80211-aql-02 Changelog: v2: - Integrate Kan's approach to airtime throttling. - Hopefully fix the cb struct alignment on big-endian architectures. --- Kan Yan (1): mac80211: Implement Airtime-based Queue Limit (AQL) Toke H=C3=B8iland-J=C3=B8rgensen (3): mac80211: Rearrange ieee80211_tx_info to make room for tx_time_est mac80211: Import airtime calculation code from mt76 mac80211: Use Airtime-based Queue Limits (AQL) on packet dequeue include/net/cfg80211.h | 7 + include/net/mac80211.h | 52 +++++- net/mac80211/Makefile | 3=20 net/mac80211/airtime.c | 375 ++++++++++++++++++++++++++++++++++++++++= ++++ net/mac80211/debugfs.c | 78 +++++++++ net/mac80211/debugfs_sta.c | 43 ++++- net/mac80211/ieee80211_i.h | 8 + net/mac80211/main.c | 9 + net/mac80211/sta_info.c | 32 ++++ net/mac80211/sta_info.h | 8 + net/mac80211/status.c | 38 ++++ net/mac80211/tx.c | 62 +++++++ 12 files changed, 693 insertions(+), 22 deletions(-) create mode 100644 net/mac80211/airtime.c