Opened 13 years ago

Last modified 10 years ago

#398 closed defect

Improve the hash table implementation — at Initial Version

Reported by: Jakub Jermář Owned by: Jakub Jermář
Priority: major Milestone: 0.7.0
Component: helenos/kernel/generic Version: mainline
Keywords: gsoc12 Cc:
Blocker for: Depends on:
See also:

Description

Improve the kernel's (and possibly also the uspace's) implementation of the generic hash table.

Unlike the current implementation, the new hash table should scale with the number of hashed items, i.e. the hash table should be able to grow/shrink as items are added to or removed from it. Implementation details of how this is achieved are not that important, with the following remarks:

  • the way the hash table is used should remain the same, i.e. use buckets with linked lists
  • number of links needed for an item to be hashed should remain 1, even though internally, there could be more instances of the hash table (e.g. for the old size and the new size)
  • the hash table needs to remain usable for the implementation of the global page hash table
  • insert should not break lockless find

Change History (0)

Note: See TracTickets for help on using tickets.