Skip to contentSkip to conversation

RESEND: Performance loss due to commit 37c3185 ([NET]: Added GSO toggle)

DISCUSSION leroy christophe 1 participant 1 message Jun 25, 2015

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

Hello Herbert,

In commit "[NET]: Added GSO toggle" 37c3185a02d4b85fbe134bf5204535405dd2c957, you force NETIF_F_HW_CSUM if GSO feature is selected.
By default, SW GSO is active as soon as a network board has NETIF_F_SG feature. This means that function sk_setup_caps() forces NETIF_F_HW_CSUM for any board having NETIF_F_SG

For boards having no HW checksum capability, this results in performance loss due to data copy being done in skb_do_copy_data_nocache() with copy_from_user() then checksum being done later with csum_partial() instead of getting both done at the same time using csum_and_copy_from_user()

What is the reason for forcing NETIF_F_HW_CSUM ?

Christophe