qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/4] Fix cache_resize to keep old entry age


From: Peter Lieven
Subject: Re: [Qemu-devel] [PATCH 2/4] Fix cache_resize to keep old entry age
Date: Mon, 25 Feb 2013 14:51:01 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130106 Thunderbird/17.0.2

On 25.02.2013 14:19, Orit Wasserman wrote:
Instead of using cache_insert do the update itself

Signed-off-by: Orit Wasserman <address@hidden>
---
  page_cache.c | 16 ++++++----------
  1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/page_cache.c b/page_cache.c
index 748957b..21a4cde 100644
--- a/page_cache.c
+++ b/page_cache.c
@@ -192,18 +192,14 @@ int64_t cache_resize(PageCache *cache, int64_t 
new_num_pages)
          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) {
+            if (new_it->it_data && new_it->it_age >= old_it->it_age) {
                  /* keep the MRU page */
-                if (new_it->it_age >= old_it->it_age) {
-                    g_free(old_it->it_data);
-                } else {
-                    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(old_it->it_data);
              } else {
-                cache_insert(new_cache, old_it->it_addr, old_it->it_data);
+                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;
              }
          }
      }
Reviewed-by: Peter Lieven <address@hidden>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]