RE: [PATCH 5.4 175/244] inet: use bigger hash table for IP ID generation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Amit Klein
> Sent: 16 June 2021 10:17
...
> -#define IP_IDENTS_SZ 2048u
> -
> +/* Hash tables of size 2048..262144 depending on RAM size.
> + * Each bucket uses 8 bytes.
> + */
> +static u32 ip_idents_mask __read_mostly;
...
> +    /* For modern hosts, this will use 2 MB of memory */
> +    idents_hash = alloc_large_system_hash("IP idents",
> +                          sizeof(*ip_idents) + sizeof(*ip_tstamps),
> +                          0,
> +                          16, /* one bucket per 64 KB */
> +                          HASH_ZERO,
> +                          NULL,
> +                          &ip_idents_mask,
> +                          2048,
> +                          256*1024);
> +

Can someone explain why this is a good idea for a 'normal' system?

Why should my desktop system 'waste' 2MB of memory on a massive
hash table that I don't need.
It might be needed by systems than handle massive numbers
of concurrent connections - but that isn't 'most systems'.

Surely it would be better to detect when the number of entries
is comparable to the table size and then resize the table.

	David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux