It's generally more cache friendly to walk arrays in order,
especially those which are likely not in cache.

Signed-off-by: Jakub Kicinski <[email protected]>
Reviewed-by: Dirk van der Merwe <[email protected]>
---
 net/tls/tls_device.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/net/tls/tls_device.c b/net/tls/tls_device.c
index 41c106e45f01..285c9f9e94e4 100644
--- a/net/tls/tls_device.c
+++ b/net/tls/tls_device.c
@@ -122,13 +122,10 @@ static struct net_device *get_netdev_for_sock(struct sock 
*sk)
 
 static void destroy_record(struct tls_record_info *record)
 {
-       int nr_frags = record->num_frags;
-       skb_frag_t *frag;
+       int i;
 
-       while (nr_frags-- > 0) {
-               frag = &record->frags[nr_frags];
-               __skb_frag_unref(frag);
-       }
+       for (i = 0; i < record->num_frags; i++)
+               __skb_frag_unref(&record->frags[i]);
        kfree(record);
 }
 
-- 
2.21.0

Reply via email to