Есть девайс, подключен к интеловому серверу гигабитной сетью.
Сейчас uboot грузит ядро по гигабитной сети со ужасной скоростью порядка 10 мегабит в секунду. Суммарно 24 мегабайт грузятся почти 24 секунды (мегабайт в секунду).
Я немного прикинул, почему так получается и предположил, что проблема в следующем: сервер шлет следующий пакет только после подтверждения предыдущего клиентом. При MTU около 1 миллисекунды получается что за секунду приходит около 1000 пакетов по полтора килобайта, что должно дать нам оценку в 1-2 мегабайта в секунду.
Хочется эту скорость поднять.
Я вижу два варианта:
1) воткнуть в uboot http. Это даст возможность на полной скорости всё влить 2) воткнуть в uboot tftp с докачкой, т.е. поменять протокол и пусть сервер льет кадр за кадром (9-килобайтный MTU), без подтверждения, а потом клиент пришлет подтверждение полученным пакетам.
Т.е. надо поднять скорость перегона пакетов минимум в 50 раз, что бы выбрать хотя бы на половину сетевой интерфейс.
Вопрос: как же это правильнее сделать?
UPD: на арме всё таки можно сжать ядро: uboot aarch64 zImage: unsupported? (комментарий)