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
Note:
See TracTickets
for help on using tickets.