Merged,
Maxim.

On 02/03/2016 16:01, Mike Holmes wrote:
Ok, thanks

On 3 February 2016 at 07:59, Elo, Matias (Nokia - FI/Espoo) <[email protected] <mailto:[email protected]>> wrote:

    The l2fwd application in api-next is already ported to use the new
    multi-queue pktio api. This fix is relevant to that version only.

    -Matias

    *From:*EXT Mike Holmes [mailto:[email protected]
    <mailto:[email protected]>]
    *Sent:* Wednesday, February 03, 2016 2:53 PM
    *To:* Elo, Matias (Nokia - FI/Espoo) <[email protected]
    <mailto:[email protected]>>
    *Cc:* [email protected] <mailto:[email protected]>
    *Subject:* Re: [lng-odp] [API-NEXT PATCH] test: l2fwd: fix test
    getting stuck in DIRECT_RECV/POLL_QUEUE mode

    This can go straight to master, there is no ODP api change.

    On 3 February 2016 at 02:51, Elo, Matias (Nokia - FI/Espoo)
    <[email protected] <mailto:[email protected]>> wrote:

        ping


        > -----Original Message-----
        > From: lng-odp [mailto:[email protected]
        <mailto:[email protected]>] On Behalf Of EXT Matias
        > Elo
        > Sent: Thursday, January 28, 2016 11:05 AM
        > To: [email protected] <mailto:[email protected]>
        > Subject: [lng-odp] [API-NEXT PATCH] test: l2fwd: fix test
        getting stuck in
        > DIRECT_RECV/POLL_QUEUE mode
        >
        > Test thread would get stuck if there were more than one
        > interface per thread and no traffic was received from one of
        > these interfaces.
        >
        > Signed-off-by: Matias Elo <[email protected]
        <mailto:[email protected]>>
        > ---
        >  test/performance/odp_l2fwd.c | 37
        ++++++++++++++++++-------------------
        >  1 file changed, 18 insertions(+), 19 deletions(-)
        >
        > diff --git a/test/performance/odp_l2fwd.c
        b/test/performance/odp_l2fwd.c
        > index 3c2d296..e392f34 100644
        > --- a/test/performance/odp_l2fwd.c
        > +++ b/test/performance/odp_l2fwd.c
        > @@ -370,6 +370,15 @@ static void *run_worker_poll_mode(void
        *arg)
        >               odp_event_t event[MAX_PKT_BURST];
        >               int i;
        >
        > +             if (num_pktio > 1) {
        > +                     dst_idx   = thr_args->pktio[pktio].tx_idx;
        > +                     queue     =
        thr_args->pktio[pktio].rx_queue;
        > +                     pktout    = thr_args->pktio[pktio].pktout;
        > +                     pktio++;
        > +                     if (pktio == num_pktio)
        > +  pktio = 0;
        > +             }
        > +
        >               pkts = odp_queue_deq_multi(queue, event,
        MAX_PKT_BURST);
        >               if (odp_unlikely(pkts <= 0))
        >                       continue;
        > @@ -410,15 +419,6 @@ static void *run_worker_poll_mode(void
        *arg)
        >               }
        >
        >               stats->s.packets += pkts;
        > -
        > -             if (num_pktio > 1) {
        > -                     dst_idx   = thr_args->pktio[pktio].tx_idx;
        > -                     queue     =
        thr_args->pktio[pktio].rx_queue;
        > -                     pktout    = thr_args->pktio[pktio].pktout;
        > -                     pktio++;
        > -                     if (pktio == num_pktio)
        > -  pktio = 0;
        > -             }
        >       }
        >
        >       /* Make sure that latest stat writes are visible to
        other threads */
        > @@ -459,6 +459,15 @@ static void
        *run_worker_direct_mode(void *arg)
        >               int sent;
        >               unsigned tx_drops;
        >
        > +             if (num_pktio > 1) {
        > +                     dst_idx   = thr_args->pktio[pktio].tx_idx;
        > +                     pktin     = thr_args->pktio[pktio].pktin;
        > +                     pktout    = thr_args->pktio[pktio].pktout;
        > +                     pktio++;
        > +                     if (pktio == num_pktio)
        > +  pktio = 0;
        > +             }
        > +
        >               pkts = odp_pktio_recv_queue(pktin, pkt_tbl,
        MAX_PKT_BURST);
        >               if (odp_unlikely(pkts <= 0))
        >                       continue;
        > @@ -496,16 +505,6 @@ static void
        *run_worker_direct_mode(void *arg)
        >               }
        >
        >               stats->s.packets += pkts;
        > -
        > -             if (num_pktio > 1) {
        > -                     dst_idx   = thr_args->pktio[pktio].tx_idx;
        > -                     pktin     = thr_args->pktio[pktio].pktin;
        > -                     pktout    = thr_args->pktio[pktio].pktout;
        > -                     pktio++;
        > -                     if (pktio == num_pktio)
        > -  pktio = 0;
        > -             }
        > -
        >       }
        >
        >       /* Make sure that latest stat writes are visible to
        other threads */
        > --
        > 1.9.1
        >
        > _______________________________________________
        > lng-odp mailing list
        > [email protected] <mailto:[email protected]>
        > https://lists.linaro.org/mailman/listinfo/lng-odp
        _______________________________________________
        lng-odp mailing list
        [email protected] <mailto:[email protected]>
        https://lists.linaro.org/mailman/listinfo/lng-odp



--
    Mike Holmes

    Technical Manager - Linaro Networking Group

    Linaro.org <http://www.linaro.org/>***│ *Open source software for
    ARM SoCs

    "Work should be fun and collborative, the rest follows"




--
Mike Holmes
Technical Manager - Linaro Networking Group
Linaro.org <http://www.linaro.org/>***│ *Open source software for ARM SoCs
"Work should be fun and collborative, the rest follows"



_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to