Message ID | 1424873192-3644-3-git-send-email-armbru@redhat.com |
---|---|
State | New |
Headers | show |
* Markus Armbruster (armbru@redhat.com) wrote: > Unused since commit fd8cec XBZRLE: Fix qemu crash when resize the > xbzrle cache. > > Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Yes, I guess Orit had intended this page_cache to be more general than xbzrle (which is why I hadn't moved it into migration/) so perhaps a user from the future would want that resize, but it's probably best to remove it for now. Dave > --- > include/migration/page_cache.h | 11 --------- > page_cache.c | 56 ------------------------------------------ > 2 files changed, 67 deletions(-) > > diff --git a/include/migration/page_cache.h b/include/migration/page_cache.h > index 10ed532..4fadd0c 100644 > --- a/include/migration/page_cache.h > +++ b/include/migration/page_cache.h > @@ -72,15 +72,4 @@ uint8_t *get_cached_data(const PageCache *cache, uint64_t addr); > int cache_insert(PageCache *cache, uint64_t addr, const uint8_t *pdata, > uint64_t current_age); > > -/** > - * cache_resize: resize the page cache. In case of size reduction the extra > - * pages will be freed > - * > - * Returns -1 on error new cache size on success > - * > - * @cache pointer to the PageCache struct > - * @num_pages: new page cache size (in pages) > - */ > -int64_t cache_resize(PageCache *cache, int64_t num_pages); > - > #endif > diff --git a/page_cache.c b/page_cache.c > index cf8878d..a00a3d9 100644 > --- a/page_cache.c > +++ b/page_cache.c > @@ -188,59 +188,3 @@ int cache_insert(PageCache *cache, uint64_t addr, const uint8_t *pdata, > > return 0; > } > - > -int64_t cache_resize(PageCache *cache, int64_t new_num_pages) > -{ > - PageCache *new_cache; > - int64_t i; > - > - CacheItem *old_it, *new_it; > - > - g_assert(cache); > - > - /* cache was not inited */ > - if (cache->page_cache == NULL) { > - return -1; > - } > - > - /* same size */ > - if (pow2floor(new_num_pages) == cache->max_num_items) { > - return cache->max_num_items; > - } > - > - new_cache = cache_init(new_num_pages, cache->page_size); > - if (!(new_cache)) { > - DPRINTF("Error creating new cache\n"); > - return -1; > - } > - > - /* move all data from old cache */ > - for (i = 0; i < cache->max_num_items; i++) { > - old_it = &cache->page_cache[i]; > - if (old_it->it_addr != -1) { > - /* check for collision, if there is, keep MRU page */ > - new_it = cache_get_by_addr(new_cache, old_it->it_addr); > - if (new_it->it_data && new_it->it_age >= old_it->it_age) { > - /* keep the MRU page */ > - g_free(old_it->it_data); > - } else { > - if (!new_it->it_data) { > - new_cache->num_items++; > - } > - g_free(new_it->it_data); > - new_it->it_data = old_it->it_data; > - new_it->it_age = old_it->it_age; > - new_it->it_addr = old_it->it_addr; > - } > - } > - } > - > - g_free(cache->page_cache); > - cache->page_cache = new_cache->page_cache; > - cache->max_num_items = new_cache->max_num_items; > - cache->num_items = new_cache->num_items; > - > - g_free(new_cache); > - > - return cache->max_num_items; > -} > -- > 1.9.3 > > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
diff --git a/include/migration/page_cache.h b/include/migration/page_cache.h index 10ed532..4fadd0c 100644 --- a/include/migration/page_cache.h +++ b/include/migration/page_cache.h @@ -72,15 +72,4 @@ uint8_t *get_cached_data(const PageCache *cache, uint64_t addr); int cache_insert(PageCache *cache, uint64_t addr, const uint8_t *pdata, uint64_t current_age); -/** - * cache_resize: resize the page cache. In case of size reduction the extra - * pages will be freed - * - * Returns -1 on error new cache size on success - * - * @cache pointer to the PageCache struct - * @num_pages: new page cache size (in pages) - */ -int64_t cache_resize(PageCache *cache, int64_t num_pages); - #endif diff --git a/page_cache.c b/page_cache.c index cf8878d..a00a3d9 100644 --- a/page_cache.c +++ b/page_cache.c @@ -188,59 +188,3 @@ int cache_insert(PageCache *cache, uint64_t addr, const uint8_t *pdata, return 0; } - -int64_t cache_resize(PageCache *cache, int64_t new_num_pages) -{ - PageCache *new_cache; - int64_t i; - - CacheItem *old_it, *new_it; - - g_assert(cache); - - /* cache was not inited */ - if (cache->page_cache == NULL) { - return -1; - } - - /* same size */ - if (pow2floor(new_num_pages) == cache->max_num_items) { - return cache->max_num_items; - } - - new_cache = cache_init(new_num_pages, cache->page_size); - if (!(new_cache)) { - DPRINTF("Error creating new cache\n"); - return -1; - } - - /* move all data from old cache */ - for (i = 0; i < cache->max_num_items; i++) { - old_it = &cache->page_cache[i]; - if (old_it->it_addr != -1) { - /* check for collision, if there is, keep MRU page */ - new_it = cache_get_by_addr(new_cache, old_it->it_addr); - if (new_it->it_data && new_it->it_age >= old_it->it_age) { - /* keep the MRU page */ - g_free(old_it->it_data); - } else { - if (!new_it->it_data) { - new_cache->num_items++; - } - g_free(new_it->it_data); - new_it->it_data = old_it->it_data; - new_it->it_age = old_it->it_age; - new_it->it_addr = old_it->it_addr; - } - } - } - - g_free(cache->page_cache); - cache->page_cache = new_cache->page_cache; - cache->max_num_items = new_cache->max_num_items; - cache->num_items = new_cache->num_items; - - g_free(new_cache); - - return cache->max_num_items; -}
Unused since commit fd8cec XBZRLE: Fix qemu crash when resize the xbzrle cache. Signed-off-by: Markus Armbruster <armbru@redhat.com> --- include/migration/page_cache.h | 11 --------- page_cache.c | 56 ------------------------------------------ 2 files changed, 67 deletions(-)