• J
    average: provide macro to create static EWMA · 2377799c
    Johannes Berg 提交于
    Having the EWMA parameters stored in the runtime struct imposes
    memory requirements for the constant values that could just be
    inlined in the code. This particularly makes sense if there are
    a lot of such structs, for example in mac80211 in the station
    table where each station has a number of these in an array, and
    there can be many stations.
    
    Provide a macro DECLARE_EWMA() that declares the necessary struct
    and inline functions to access it with the parameters hard-coded;
    using this also means the user no longer needs to 'select AVERAGE'
    as it's entirely self-contained.
    
    In the mac80211 case, on x86-64, this actually slightly *reduces*
    code size, while also saving 80 bytes of runtime memory per sta.
    Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
    2377799c
average.h 2.0 KB