aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rhashtable.c
AgeCommit message (Expand)AuthorFilesLines
2022-12-09rhashtable: Allow rhashtable to be used from irq-safe contextsTejun Heo1-6/+10
2021-07-08lib: fix spelling mistakesZhen Lei1-1/+1
2020-07-28rhashtable: Restore RCU marking on rhash_lock_headHerbert Xu1-19/+16
2020-06-06rhashtable: Drop raw RCU deref in nested_table_freeHerbert Xu1-4/+13
2019-06-19treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500Thomas Gleixner1-4/+1
2019-05-16rhashtable: Fix cmpxchg RCU warningsHerbert Xu1-2/+3
2019-05-16rhashtable: Remove RCU marking from rhash_lock_headHerbert Xu1-14/+14
2019-04-12rhashtable: use BIT(0) for locking.NeilBrown1-1/+1
2019-04-12rhashtable: replace rht_ptr_locked() with rht_assign_locked()NeilBrown1-3/+3
2019-04-12rhashtable: move dereference inside rht_ptr()NeilBrown1-6/+6
2019-04-12rhashtable: fix some __rcu annotation errorsNeilBrown1-2/+2
2019-04-12rhashtable: use struct_size() in kvzalloc()Gustavo A. R. Silva1-2/+1
2019-04-07rhashtable: add lockdep tracking to bucket bit-spin-locks.NeilBrown1-6/+9
2019-04-07rhashtable: use bit_spin_locks to protect hash bucket.NeilBrown1-71/+70
2019-04-07rhashtable: allow rht_bucket_var to return NULL.NeilBrown1-9/+20
2019-04-07rhashtable: use cmpxchg() in nested_table_alloc()NeilBrown1-3/+5
2019-03-27Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller1-2/+6
2019-03-21rhashtable: rename rht_for_each*continue as *from.NeilBrown1-1/+1
2019-03-21rhashtable: don't hold lock on first table throughout insertion.NeilBrown1-36/+16
2019-03-21rhashtable: Still do rehash when we get EEXISTHerbert Xu1-2/+6
2019-02-22rhashtable: Remove obsolete rhashtable_walk_init functionHerbert Xu1-1/+1
2018-12-03rhashtable: detect when object movement between tables might have invalidated...NeilBrown1-3/+5
2018-08-27Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netLinus Torvalds1-1/+0
2018-08-22lib/rhashtable: guarantee initial hashtable allocationDavidlohr Bueso1-3/+11
2018-08-22lib/rhashtable: simplify bucket_table_alloc()Davidlohr Bueso1-5/+2
2018-08-20rhashtable: remove duplicated include from rhashtable.cYue Haibing1-1/+0
2018-07-20Merge ra.kernel.org:/pub/scm/linux/kernel/git/torvalds/linuxDavid S. Miller1-8/+19
2018-07-18lib/rhashtable: consider param->min_size when setting initial table sizeDavidlohr Bueso1-6/+11
2018-07-09rhashtable: add restart routine in rhashtable_free_and_destroy()Taehee Yoo1-1/+7
2018-07-03lib: rhashtable: Correct self-assignment in rhashtable.cRishabh Bhatnagar1-1/+1
2018-06-22rhashtable: clean up dereference of ->future_tbl.NeilBrown1-5/+4
2018-06-22rhashtable: use cmpxchg() to protect ->future_tbl.NeilBrown1-11/+4
2018-06-22rhashtable: simplify nested_table_alloc() and rht_bucket_nested_insert()NeilBrown1-12/+6
2018-06-22rhashtable: simplify INIT_RHT_NULLS_HEAD()NeilBrown1-9/+6
2018-06-22rhashtable: remove nulls_base and related code.NeilBrown1-8/+0
2018-06-22rhashtable: split rhashtable.hNeilBrown1-0/+1
2018-04-24rhashtable: improve rhashtable_walk stability when stop/start used.NeilBrown1-3/+41
2018-04-24rhashtable: reset iter when rhashtable_walk_start sees new tableNeilBrown1-0/+2
2018-04-24rhashtable: Revise incorrect comment on r{hl, hash}table_walk_enter()NeilBrown1-2/+3
2018-03-31rhashtable: add schedule pointsEric Dumazet1-0/+2
2018-03-07rhashtable: Fix rhlist duplicates insertionPaul Blakey1-1/+3
2017-12-11rhashtable: Call library function alloc_bucket_locksTom Herbert1-39/+8
2017-12-11rhashtable: Add rhastable_walk_peekTom Herbert1-16/+87
2017-12-11rhashtable: Change rhashtable_walk_start to return voidTom Herbert1-3/+7
2017-09-19rhashtable: Documentation tweakAndreas Gruenbacher1-4/+5
2017-07-15Merge tag 'random_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-1/+1
2017-07-10lib/rhashtable.c: use kvzalloc() in bucket_table_alloc() when possibleMichal Hocko1-4/+3
2017-06-19rhashtable: use get_random_u32 for hash_rndJason A. Donenfeld1-1/+1
2017-05-08lib/rhashtable.c: simplify a strange allocation patternMichal Hocko1-10/+3
2017-05-01rhashtable: compact struct rhashtable_paramsFlorian Westphal1-1/+1
2017-04-28rhashtable: Do not lower max_elems when max_size is zeroHerbert Xu1-5/+6
2017-04-27rhashtable: Cap total number of entries to 2^31Herbert Xu1-0/+5
2017-04-26rhashtable: remove insecure_max_entries paramFlorian Westphal1-6/+0
2017-04-18rhashtable: remove insecure_elasticityFlorian Westphal1-16/+1
2017-03-02sched/headers: Prepare to use <linux/rcuupdate.h> instead of <linux/rculist.h...Ingo Molnar1-0/+1
2017-02-26rhashtable: Fix RCU dereference annotation in rht_bucket_nestedHerbert Xu1-2/+3
2017-02-26rhashtable: Fix use before NULL check in bucket_table_freeHerbert Xu1-3/+1
2017-02-17rhashtable: Add nested tablesHerbert Xu1-50/+220
2016-09-20rhashtable: Add rhlist interfaceHerbert Xu1-52/+206
2016-09-06Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-nextDavid S. Miller1-3/+7
2016-08-30Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller1-3/+4
2016-08-26rhashtable: fix a memory leak in alloc_bucket_locks()Eric Dumazet1-3/+4
2016-08-26rhashtable: add rhashtable_lookup_get_insert_key()Pablo Neira Ayuso1-3/+7
2016-08-19rhashtable: Remove GFP flag from rhashtable_walk_initHerbert Xu1-28/+18
2016-08-15rhashtable: fix shift by 64 when shrinkingVegard Nossum1-2/+4
2016-08-14rhashtable: avoid large lock-array allocationsFlorian Westphal1-2/+5
2016-04-05rhashtable: accept GFP flags in rhashtable_walk_initBob Copeland1-2/+4
2015-12-31Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller1-1/+2
2015-12-18rhashtable: Kill harmless RCU warning in rhashtable_walk_initHerbert Xu1-1/+2
2015-12-17Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller1-27/+40
2015-12-16rhashtable: Fix walker list corruptionHerbert Xu1-9/+7
2015-12-16rhashtable: Enforce minimum size on initial hash tableHerbert Xu1-3/+3
2015-12-08rhashtable: Remove unnecessary wmb for future_tblHerbert Xu1-3/+0
2015-12-05Revert "rhashtable: Use __vmalloc with GFP_ATOMIC for table allocation"David S. Miller1-3/+2
2015-12-04rhashtable: Use __vmalloc with GFP_ATOMIC for table allocationHerbert Xu1-2/+3
2015-12-04rhashtable: Prevent spurious EBUSY errors on insertionHerbert Xu1-15/+30
2015-09-22lib: fix data race in rhashtable_rehash_oneDmitriy Vyukov1-4/+1
2015-07-08rhashtable: fix for resize events during table walkPhil Sutter1-2/+2
2015-06-08Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller1-0/+1
2015-06-07rhashtable: add missing import <linux/export.h>Hauke Mehrtens1-0/+1
2015-05-23Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller1-0/+11
2015-05-16rhashtable: Add cap on number of elements in hash tableHerbert Xu1-0/+11
2015-05-05rhashtable: Simplify iterator codeThomas Graf1-6/+2
2015-04-22rhashtable: Do not schedule more than one rehash if we can't grow furtherThomas Graf1-2/+2
2015-04-22rhashtable: Schedule async resize when sync realloc failsThomas Graf1-1/+6
2015-03-25rhashtable: provide len to obj_hashfnPatrick McHardy1-1/+1
2015-03-24rhashtable: Add rhashtable_free_and_destroy()Thomas Graf1-10/+39
2015-03-24rhashtable: Disable automatic shrinking by defaultThomas Graf1-1/+1
2015-03-24rhashtable: Use 'unsigned int' consistentlyThomas Graf1-8/+10
2015-03-24rhashtable: Add comment on choice of elasticity valueHerbert Xu1-0/+12
2015-03-23rhashtable: Fix sleeping inside RCU critical section in walk_stopHerbert Xu1-2/+5
2015-03-23rhashtable: Add immediate rehash during insertionHerbert Xu1-1/+59
2015-03-23rhashtable: Allow GFP_ATOMIC bucket table allocationHerbert Xu1-11/+15
2015-03-23rhashtable: Add multiple rehash supportHerbert Xu1-15/+72
2015-03-23rhashtable: Shrink to fitHerbert Xu1-3/+10
2015-03-23rhashtable: Allow hashfn to be unsetHerbert Xu1-1/+16
2015-03-23rhashtable: Add barrier to ensure we see new tables in walkerHerbert Xu1-0/+3
2015-03-20rhashtable: Rip out obsolete out-of-line interfaceHerbert Xu1-284/+0
2015-03-20rhashtable: Allow hash/comparison functions to be inlinedHerbert Xu1-113/+50
2015-03-20rhashtable: Make rhashtable_init params argument constHerbert Xu1-3/+4
2015-03-19rhashtable: Round up/down min/max_size to ensure we respect limitThomas Graf1-2/+8
2015-03-18rhashtable: Remove max_shift and min_shiftHerbert Xu1-6/+1
2015-03-18rhashtable: Introduce max_size/min_sizeHerbert Xu1-4/+8
2015-03-18rhashtable: Remove shift from bucket_tableHerbert Xu1-3/+2
2015-03-16rhashtable: Avoid calculating hash again to unlockThomas Graf1-6/+5
2015-03-16rhashtable: Annotate RCU locking of walkersThomas Graf1-0/+2
2015-03-15rhashtable: Fix rhashtable_remove failuresHerbert Xu1-10/+7
2015-03-15rhashtable: Fix use-after-free in rhashtable_walk_stopHerbert Xu1-3/+4
2015-03-15rhashtable: Move future_tbl into struct bucket_tableHerbert Xu1-16/+11
2015-03-15rhashtable: Add rehash counter to bucket_tableHerbert Xu1-0/+1
2015-03-15rhashtable: Free bucket tables asynchronously after rehashHerbert Xu1-3/+6
2015-03-15rhashtable: Move seed init into bucket_table_allocHerbert Xu1-10/+6
2015-03-15rhashtable: Use SINGLE_DEPTH_NESTINGHerbert Xu1-7/+2
2015-03-15rhashtable: Fix walker behaviour during rehashHerbert Xu1-23/+46
2015-03-12rhashtable: Fix read-side crash during rehashHerbert Xu1-1/+1
2015-03-12rhashtable: kill ht->shift atomic operationsDaniel Borkmann1-30/+25
2015-03-12rhashtable: Fix reader/rehash raceHerbert Xu1-0/+6
2015-03-12rhashtable: Remove obj_raw_hashfnHerbert Xu1-18/+7
2015-03-12rhashtable: Remove key length argument to key_hashfnHerbert Xu1-3/+4
2015-03-12rhashtable: Use head_hashfn instead of obj_raw_hashfnHerbert Xu1-7/+5
2015-03-12rhashtable: Move masking back into key_hashfnHerbert Xu1-2/+3
2015-03-11rhashtable: Add annotation to nested lockHerbert Xu1-2/+2
2015-03-11rhashtable: Add arbitrary rehash functionHerbert Xu1-332/+174
2015-03-11rhashtable: Move hash_rnd into bucket_tableHerbert Xu1-9/+15
2015-02-27rhashtable: use cond_resched()Eric Dumazet1-0/+4
2015-02-27rhashtable: remove indirection for grow/shrink decision functionsDaniel Borkmann1-39/+17
2015-02-27rhashtable: unconditionally grow when max_shift is not specifiedDaniel Borkmann1-1/+1
2015-02-23rhashtable: initialize all rhashtable walker membersSasha Levin1-0/+3
2015-02-20rhashtable: better high order allocation attemptsDaniel Borkmann1-3/+3
2015-02-20rhashtable: don't test for shrink on insert, expansion on deleteDaniel Borkmann1-9/+18
2015-02-08rhashtable: using ERR_PTR requires linux/err.hStephen Rothwell1-0/+1
2015-02-06rhashtable: Fix remove logic to avoid cross references between bucketsThomas Graf1-11/+17
2015-02-06rhashtable: Avoid bucket cross reference after removalThomas Graf1-9/+17
2015-02-06rhashtable: Add more lock verificationThomas Graf1-2/+8
2015-02-06rhashtable: Dump bucket tables on locking violation under PROVE_LOCKINGThomas Graf1-24/+75
2015-02-06rhashtable: Wait for RCU readers after final unzip workThomas Graf1-0/+2
2015-02-06rhashtable: Use a single bucket lock for sibling bucketsThomas Graf1-101/+69
2015-02-06rhashtable: key_hashfn() must return full hash valueThomas Graf1-7/+1
2015-02-04rhashtable: Introduce rhashtable_walk_*Herbert Xu1-0/+163
2015-02-04rhashtable: Fix potential crash on destroy in rhashtable_shrinkHerbert Xu1-0/+4
2015-01-30rhashtable: Make selftest modularGeert Uytterhoeven1-205/+0
2015-01-26rhashtable: rhashtable_remove() must unlink in both tbl and future_tblThomas Graf1-9/+15
2015-01-16rhashtable: Fix race in rhashtable_destroy() and use regular work_structYing Xue1-6/+6
2015-01-14rhashtable: Lower/upper bucket may map to same lock while shrinkingThomas Graf1-3/+12
2015-01-13rhashtable: involve rhashtable_lookup_compare_insert routineYing Xue1-2/+40
2015-01-08rhashtable: initialize atomic nelems variableYing Xue1-0/+1
2015-01-08rhashtable: avoid unnecessary wakeup for worker queueYing Xue1-11/+7
2015-01-08rhashtable: future table needs to be traversed when remove an objectYing Xue1-2/+2
2015-01-08rhashtable: involve rhashtable_lookup_insert routineYing Xue1-15/+82
2015-01-08rhashtable: introduce rhashtable_wakeup_worker helper functionYing Xue1-8/+15
2015-01-08rhashtable: optimize rhashtable_lookup routineYing Xue1-23/+18
2015-01-03rhashtable: Supports for nulls markerThomas Graf1-7/+30
2015-01-03rhashtable: Per bucket locks & deferred expansion/shrinkingThomas Graf1-114/+344
2015-01-03nft_hash: Remove rhashtable_remove_pprev()Thomas Graf1-27/+7
2015-01-03rhashtable: Factor out bucket_tail() functionThomas Graf1-9/+14
2015-01-03rhashtable: Convert bucket iterators to take table and indexThomas Graf1-11/+19
2015-01-03rhashtable: Use rht_obj() instead of manual offset calculationThomas Graf1-2/+2
2015-01-03rhashtable: Do hashing inside of rhashtable_lookup_compare()Thomas Graf1-61/+30
2014-12-10net: replace remaining users of arch_fast_hash with jhashDaniel Borkmann1-4/+4
2014-11-24rhashtable: Check for count mismatch while iterating in selftestThomas Graf1-7/+20
2014-11-14Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller1-5/+5
2014-11-13rhashtable: Drop gfp_flags arg in insert/remove functionsThomas Graf1-24/+17
2014-11-13rhashtable: Add parent argument to mutex_is_heldHerbert Xu1-2/+2
2014-11-13rhashtable: Move mutex_is_held under PROVE_LOCKINGHerbert Xu1-0/+8
2014-11-13lib: rhashtable - Remove weird non-ASCII characters from commentsHerbert Xu1-5/+5
2014-10-08Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-nextLinus Torvalds1-4/+8
2014-10-07Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jik...Linus Torvalds1-2/+2
2014-10-02Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller1-4/+4
2014-09-26Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nfDavid S. Miller1-4/+4
2014-09-23Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller1-1/+0
2014-09-19lib: rhashtable: remove second linux/log2.h inclusionFabian Frederick1-1/+0
2014-09-03lib/rhashtable: allow user to set the minimum shifts of shrinkingYing Xue1-4/+8
2014-09-03rhashtable: fix lockdep splat in rhashtable_destroy()Pablo Neira Ayuso1-4/+4
2014-08-26lib: rhashtable: Spelling s/compuate/compute/Geert Uytterhoeven1-2/+2
2014-08-14rhashtable: unexport and make rht_obj() staticThomas Graf1-7/+1
2014-08-14rhashtable: RCU annotations for next pointersThomas Graf1-1/+1
2014-08-02lib: Resizable, Scalable, Concurrent Hash TableThomas Graf1-0/+797