need clarifications on net/radix.c usage

From: Luigi Rizzo <rizzo_at_iet.unipi.it>
Date: Mon, 14 Dec 2009 08:57:25 +0100
Hi,
i am revising the code in net/radix.c and there are a few
things that are not completely clear to me and I would like
to understand and possibly fix.

I know that this code has been untouched in 15 years so it
probably reflects old requirements or design ideas that have
changed since then.

Initial list of things:

- struct radix_node_head has a number of fields that are never used
  (rnh_addpkt and friends, rnh_addrsize, rnh_pktsize)
  Unless there are objections I'd like to remove the unused fields.

- there are some static variables in radix.c (max_keylen, mask_rnhead,
  the freelist, the allzero and allone masks, 'last_zeroed' in a function)
  which would probably deserve becoming members of radix_node_head,
  last not least for correctness of operation -- some of those fields
  are read-write, but there are now multiple instances of radix_node_head
  running under different locks.
     Again, if there are no objections, I'd like to move those variables
  into radix_node_head.

cheers
luigi
Received on Mon Dec 14 2009 - 06:50:05 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:59 UTC