Hi Stephen,

On 07/06/2018 02:32 PM, Stephen Hemminger wrote:
> 
>> diff --git a/tc/q_etf.c b/tc/q_etf.c
>> new file mode 100644
>> index 00000000..5db1dd6f
>> --- /dev/null
>> +++ b/tc/q_etf.c
>> @@ -0,0 +1,168 @@
>> +/*
>> + * q_etf.c          Earliest TxTime First (ETF).
>> + *
>> + *          This program is free software; you can redistribute it and/or
>> + *          modify it under the terms of the GNU General Public License
>> + *          as published by the Free Software Foundation; either version
>> + *          2 of the License, or (at your option) any later version.
>> + *
>> + * Authors: Vinicius Costa Gomes <vinicius.go...@intel.com>
>> + *          Jesus Sanchez-Palencia <jesus.sanchez-palen...@intel.com>
>> + *
>> + */
> 
> 
> Please use SPDX tag rather than GPL boilerplate when adding new code.

Sure, will do for v4.

> 
>> +static int get_clockid(__s32 *val, const char *arg)
>> +{
>> +    const struct static_clockid {
>> +            const char *name;
>> +            clockid_t clockid;
>> +    } clockids_sysv[] = {
>> +            { "CLOCK_REALTIME", CLOCK_REALTIME },
>> +            { "CLOCK_TAI", CLOCK_TAI },
>> +            { "CLOCK_BOOTTIME", CLOCK_BOOTTIME },
>> +            { "CLOCK_MONOTONIC", CLOCK_MONOTONIC },
>> +            { NULL }
>> +    };
>> +
>> +    const struct static_clockid *c;
>> +
>> +    for (c = clockids_sysv; c->name; c++) {
>> +            if (strncasecmp(c->name, arg, 25) == 0) {
>> +                    *val = c->clockid;
>> +
>> +                    return 0;
>> +            }
>> +    }
>> +
>> +    return -1;
>> +}
> 
> Internally, kernel must use ktime. For the userspace part the TC standard
> is to use USER HZ of 100.
> 
> Please change user kernel API of this module to match other existing modules.
> Doing something unique for this module is not necessary.


I don't follow you on the above, sorry.

The qdisc must be configured with a valid clockid_t. This type is used by both
userspace and kernel.

As requested before, we made the tc etf command line interface more
user-friendly and allowed for users to input the clock name as a string. The
code above is just lookup table converting the string into a a valid clockid_t
so we can then pass it to the kernel.

There is no ktime or any other timestamp type above, only clockid_t.

Can you please clarify what your request is?


Thanks,
Jesus

Reply via email to