Implement memory write-through cache #128

Closed
opened 8 years ago by mattatobin · 2 comments
mattatobin commented 8 years ago (Migrated from github.com)

This is intended to finally make proper use of the memory cache device

It was first landed in bc2513b23e however it was reverted in e03fdaf086 when it was found to cause a crashes due to when disk cache entries are evicted. This SEEMS to be a use-after-free condition on a bogus mDiskCacheEntry.

It will need to either be fixed to catch such a condition or be rethought out in implementation.

A possible simpler solution may involve just prioritizing memory over disk cache.

This is intended to finally make proper use of the memory cache device It was first landed in bc2513b23e033e20f05c6bdfecb5e747fde67b2e however it was reverted in e03fdaf086602caf4aebe3b147100a573fa912ed when it was found to cause a crashes due to when disk cache entries are evicted. This SEEMS to be a use-after-free condition on a bogus mDiskCacheEntry. It will need to either be fixed to catch such a condition or be rethought out in implementation. A possible simpler solution may involve just prioritizing memory over disk cache.
wolfbeast commented 8 years ago (Migrated from github.com)

Prioritizing memory over disk won't really work here, because then the disk cache would become just as under-used as the memory cache is currently.

We need to figure out where exactly this freeing occurs that makes the pointer still valid but the actual entry freed. The solution is very close to being perfect, but has this one snag.

Prioritizing memory over disk won't really work here, because then the disk cache would become just as under-used as the memory cache is currently. We need to figure out where exactly this freeing occurs that makes the pointer still valid but the actual entry freed. The solution is very close to being perfect, but has this one snag.
wolfbeast commented 7 years ago (Migrated from github.com)

If we still want this, then it'll have to be completely rewritten for cache v2 in Tycho. There currently isn't any code to draw on that does this, and I have no documentation about how to integrate something like this or the intricacies of the new caching system.

If we still want this, then it'll have to be completely rewritten for cache v2 in Tycho. There currently isn't any code to draw on that does this, and I have no documentation about how to integrate something like this or the intricacies of the new caching system.
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: MoonchildProductions/Pale-Moon#128
Loading…
There is no content yet.