test suite reviews and discussions
 help / color / mirror / Atom feed
From: Yong Liu <yong.liu@intel.com>
To: dts@dpdk.org
Subject: [dts] [PATCH] Optimize rescan_ports function with read cache option
Date: Mon, 13 Jul 2015 13:46:04 +0800	[thread overview]
Message-ID: <1436766364-5469-1-git-send-email-yong.liu@intel.com> (raw)

From: Marvin Liu <yong.liu@intel.com>

When read_cache enabled, skip rescan ports when there's available port infor.
Only update cache file and PORT_INFO_CACHE_KEY after rescan ports function.

Signed-off-by: Marvin Liu <yong.liu@intel.com>

diff --git a/framework/dut.py b/framework/dut.py
index aaaaf36..bbc6274 100644
--- a/framework/dut.py
+++ b/framework/dut.py
@@ -513,6 +513,17 @@ class Dut(Crb):
         return False
 
     def rescan_ports(self):
+        """
+        Rescan ports information
+        """
+        if self.read_cache and self.load_serializer_ports():
+            return
+
+        if self.ports_info:
+            self.rescan_ports_uncached()
+            self.save_serializer_ports()
+
+    def rescan_ports_uncached(self):
         unknow_interface = RED('Skipped: unknow_interface')
 
         for port_info in self.ports_info:
@@ -540,7 +551,7 @@ class Dut(Crb):
     def load_serializer_ports(self):
         cached_ports_info = self.serializer.load(self.PORT_INFO_CACHE_KEY)
         if cached_ports_info is None:
-            return
+            return None
 
         self.ports_info = cached_ports_info
 
@@ -564,7 +575,6 @@ class Dut(Crb):
 
         if not self.read_cache or self.ports_info is None:
             self.scan_ports_uncached()
-            self.save_serializer_ports()
 
     def scan_ports_cached(self):
         """
-- 
1.9.3

                 reply	other threads:[~2015-07-13  5:46 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1436766364-5469-1-git-send-email-yong.liu@intel.com \
    --to=yong.liu@intel.com \
    --cc=dts@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).