lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+sq2Cd12c29AT6BPk0O4BTw+JA+ZOt7o-kWJKWfq7ZN7fTnzQ@mail.gmail.com>
Date:   Mon, 27 Jan 2020 18:13:45 +0530
From:   Sunil Kovvuri <sunil.kovvuri@...il.com>
To:     Dave Taht <dave.taht@...il.com>
Cc:     Linux Kernel Network Developers <netdev@...r.kernel.org>,
        "David S. Miller" <davem@...emloft.net>,
        Jakub Kicinski <kubakici@...pl>,
        Michal Kubeček <mkubecek@...e.cz>,
        Maciej Fijalkowski <maciej.fijalkowski@...el.com>,
        Sunil Goutham <sgoutham@...vell.com>,
        Geetha sowjanya <gakula@...vell.com>
Subject: Re: [PATCH v5 04/17] octeontx2-pf: Initialize and config queues

On Mon, Jan 27, 2020 at 12:30 AM Dave Taht <dave.taht@...il.com> wrote:
>
> I guess my question generally is, what form of RED is implemented in
> the hardware?
>
> http://mirrors.bufferbloat.net/~jg/RelevantPapers/Red_in_a_different_light.pdf
>
> > +/* RED and drop levels of CQ on packet reception.
> > + * For CQ level is measure of emptiness ( 0x0 = full, 255 = empty).
> > + */
> > +#define RQ_PASS_LVL_CQ(skid, qsize)    ((((skid) + 16) * 256) / (qsize))
> > +#define RQ_DROP_LVL_CQ(skid, qsize)    (((skid) * 256) / (qsize))
> > +
> > +/* RED and drop levels of AURA for packet reception.
> > + * For AURA level is measure of fullness (0x0 = empty, 255 = full).
> > + * Eg: For RQ length 1K, for pass/drop level 204/230.
> > + * RED accepts pkts if free pointers > 102 & <= 205.
> > + * Drops pkts if free pointers < 102.
> > + */
> > +#define RQ_PASS_LVL_AURA (255 - ((95 * 256) / 100)) /* RED when 95% is full */
> > +#define RQ_DROP_LVL_AURA (255 - ((99 * 256) / 100)) /* Drop when 99% is full */
>
> I guess my question generally is, what form of RED is implemented in
> the hardware?

Periodically or per packet (based on configuration) a average level of
receive side resources
(ie number of free receive buffer pointers, number of unused receive
packet notification descriptors)
is calculated and compared against configured values to determine
whether to do RED dropping or not.

>
> (what's aura?)
>

Aura is a HW term, this maintains receive buffer pointers.
When a packet is received HW allocates a pointer from Aura and does a
DMA to it and
then prepares a descriptor and adds to CQ (completion queue) and
notifies software.

Thanks,
Sunil.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ