On 17/02/16 16:59, Mike Holmes wrote:


On 17 February 2016 at 11:53, Ivan Khoronzhuk
<ivan.khoronz...@linaro.org <mailto:ivan.khoronz...@linaro.org>> wrote:



    On 17.02.16 18:44, Mike Holmes wrote:

        Does this tuning need to be documented in the implementer's guide ?

    I thinks, no.


Really, per platform tuning is required but we dont mention it ?

It is not really a platform dependent stuff, this test is inherently unreliable, but we don't have a better idea, and adjusting the tolerance is just good enough.




        On 17 February 2016 at 10:51, Zoltan Kiss
        <zoltan.k...@linaro.org <mailto:zoltan.k...@linaro.org>
        <mailto:zoltan.k...@linaro.org <mailto:zoltan.k...@linaro.org>>>
        wrote:



             On 17/02/16 15:24, Ivan Khoronzhuk wrote:

                 Hi, Zoltan

                 On 17.02.16 17:12, Zoltan Kiss wrote:

                     Hi Ivan,

                     I haven an another issue related to time API, which
        is related to your
                     recent patches, particularly this code:

                     wait_time = odp_schedule_wait_time(ODP_TIME_SEC_IN_NS);
                     ...
                     /* check time correctness */
                     start_time = odp_time_local();
                     for (i = 1; i < 6; i++) {
                           odp_schedule(&queue, wait_time);
                           printf("%d..", i);
                     }
                     end_time = odp_time_local();

                     diff = odp_time_diff(end_time, start_time);
                     ...
                     upper_limit = odp_time_local_from_ns(5 *
        ODP_TIME_SEC_IN_NS +
                     ODP_WAIT_TOLERANCE);

                     ...
                     CU_ASSERT(odp_time_cmp(diff, upper_limit) <= 0);

                     This assert fails every now and then on ODP-DPDK,
        because although
                     wait_time is 1 sec, and you call odp_schedule() 5
        times, you can't
                     really have any guarantees how long the delay lasts
        between the
                     subsequent calls, or how long the printf lasts (or
        the function call
                     overhead). I think we should come up with something
        more accurate
                     which doesn't produce false positives like this.

                     Regards,

                     Zoltan


                 That's why I'm used WAIT_TOLERANCE in 20ms. That is
        about 2 context
                 switches.
                 I've tested it on Keystone and on linux-generic. It was
        enough.
                 If you are testing it on system with more load it's
        probably not enough.
                 Time spent on printf and schedule calls is not
        comparable with such time
                 tolerance.
                 Did you try to figure out the real delay it takes with
        DPDK?


             Nope, it happens quite rarely in CI, and we don't have too
        much information about the reasons. I assume it is a momentary
        higher load on the system.

                 Maybe we should increase it to be 3 or even 4 context
        switches.
                 Say 40ms, in order to be not so sensitive for some systems.
                 #define ODP_WAIT_TOLERANCE    (40 * ODP_TIME_MSEC_IN_NS)


             Yes, that might help.



             _______________________________________________
             lng-odp mailing list
        lng-odp@lists.linaro.org <mailto:lng-odp@lists.linaro.org>
        <mailto:lng-odp@lists.linaro.org <mailto:lng-odp@lists.linaro.org>>
        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"

        __



    --
    Regards,
    Ivan Khoronzhuk




--
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
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to