[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20191103.172729.1947675467703746055.davem@davemloft.net>
Date: Sun, 03 Nov 2019 17:27:29 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: tuong.t.lien@...tech.com.au
Cc: jon.maloy@...csson.com, maloy@...jonn.com, ying.xue@...driver.com,
netdev@...r.kernel.org, tipc-discussion@...ts.sourceforge.net
Subject: Re: [net-next] tipc: improve message bundling algorithm
From: Tuong Lien <tuong.t.lien@...tech.com.au>
Date: Fri, 1 Nov 2019 09:58:57 +0700
> As mentioned in commit e95584a889e1 ("tipc: fix unlimited bundling of
> small messages"), the current message bundling algorithm is inefficient
> that can generate bundles of only one payload message, that causes
> unnecessary overheads for both the sender and receiver.
>
> This commit re-designs the 'tipc_msg_make_bundle()' function (now named
> as 'tipc_msg_try_bundle()'), so that when a message comes at the first
> place, we will just check & keep a reference to it if the message is
> suitable for bundling. The message buffer will be put into the link
> backlog queue and processed as normal. Later on, when another one comes
> we will make a bundle with the first message if possible and so on...
> This way, a bundle if really needed will always consist of at least two
> payload messages. Otherwise, we let the first buffer go its way without
> any need of bundling, so reduce the overheads to zero.
>
> Moreover, since now we have both the messages in hand, we can even
> optimize the 'tipc_msg_bundle()' function, make bundle of a very large
> (size ~ MSS) and small messages which is not with the current algorithm
> e.g. [1400-byte message] + [10-byte message] (MTU = 1500).
>
> Acked-by: Ying Xue <ying.xue@...dreiver.com>
> Acked-by: Jon Maloy <jon.maloy@...csson.com>
> Signed-off-by: Tuong Lien <tuong.t.lien@...tech.com.au>
Applied.
Powered by blists - more mailing lists