From: Herbert Xu <herb...@gondor.apana.org.au> Date: Fri, 15 May 2015 11:30:47 +0800
> We currently have no limit on the number of elements in a hash table. > This is a problem because some users (tipc) set a ceiling on the > maximum table size and when that is reached the hash table may > degenerate. Others may encounter OOM when growing and if we allow > insertions when that happens the hash table perofrmance may also > suffer. > > This patch adds a new paramater insecure_max_entries which becomes > the cap on the table. If unset it defaults to max_size * 2. If > it is also zero it means that there is no cap on the number of > elements in the table. However, the table will grow whenever the > utilisation hits 100% and if that growth fails, you will get ENOMEM > on insertion. > > As allowing oversubscription is potentially dangerous, the name > contains the word insecure. > > Note that the cap is not a hard limit. This is done for performance > reasons as enforcing a hard limit will result in use of atomic ops > that are heavier than the ones we currently use. > > The reasoning is that we're only guarding against a gross over- > subscription of the table, rather than a small breach of the limit. > > Signed-off-by: Herbert Xu <herb...@gondor.apana.org.au> Applied, thanks Herbert. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html