Results 17 comments of Alex

Можно оставить старое, не принципиально. C rate-estimator получилось отлично, я просто не смотрел, что он делает. Не думал двигать его. Если выигрышь есть, а его цена час времени упрощения кода,...

код стал попроще и я разглядел в нем еще идею для проверки. первые тесты вроде проходят. сейчас сделаю набор тестов c iperf'ом, чтобы поточнее. Сразу понимаю вопрос а нафига? никто,...

>>Например, не будет ли вредной race condition в последнем случае race какой переменной? >>А на второй взгляд, car->last читается до spin_lock, разве это не ошибка? Она читается до лока в...

Я абсолютно согласен, что алгоритм не должен меняться. Для второго патча еще есть идеи. А в чем изменение логики работы алгоритма у первого патча? 23 декабря 2016 г., 16:10 пользователь...

Про мсек и токены. Это некорректное утвержение. Давайте смотреть. было const unsigned long delta_ms = (now - car->last) * (MSEC_PER_SEC / HZ); if (delta_ms) { const u32 tok = delta_ms...

ошибся, воду читать как мсек. но суть таже

>> Да, надо проанализировать это. я тоже к чужому коду отношусь порой критичнее, чем к своему. Т.е. так как чтение last показалось в моем коде, то сразу нашелся повод подумать...

да, last чтение должно быть внутри cs, иначе поток прочитает его, зависнет в входе в cs, другой обновит last и вычтет токены, а затем первый вычтет теже токены еще раз,...

полностью lockless не выйдет, т.к. в случае переполнения корзины никуда не деться, надо добавлять в корзину накопившиеся токены и одновременно обновлять last time. Для двух операций, нужен dcas. Если я...

Сделал тесты реализации последнего патча, назовем ее fast/slow (FS) версией. Делал два теста: один на корректносить, второй на производительность. Тест на корректность проверял, что решения для тестового набора пакетов принимаются...