e1000 patch to reduce log level of reading from file descriptor... error
authorIdo Barnea <[email protected]>
Wed, 16 Mar 2016 18:08:57 +0000 (20:08 +0200)
committerIdo Barnea <[email protected]>
Wed, 16 Mar 2016 18:08:57 +0000 (20:08 +0200)
src/dpdk22/drivers/net/e1000/base/e1000_api.c
src/dpdk22/lib/librte_eal/linuxapp/eal/eal_interrupts.c

index bbfcae8..22b96fd 100644 (file)
@@ -632,6 +632,8 @@ s32 e1000_reset_hw(struct e1000_hw *hw)
        return -E1000_ERR_CONFIG;
 }
 
+//TREX_PATCH
+extern int eal_err_read_from_file_is_error;
 /**
  *  e1000_init_hw - Initialize hardware
  *  @hw: pointer to the HW structure
@@ -641,6 +643,9 @@ s32 e1000_reset_hw(struct e1000_hw *hw)
  **/
 s32 e1000_init_hw(struct e1000_hw *hw)
 {
+    //TREX_PATCH
+    eal_err_read_from_file_is_error = 0;
+
        if (hw->mac.ops.init_hw)
                return hw->mac.ops.init_hw(hw);
 
index 06b26a9..5d3128e 100644 (file)
@@ -75,6 +75,9 @@
 
 static RTE_DEFINE_PER_LCORE(int, _epfd) = -1; /**< epoll fd per thread */
 
+// TREX_PATCH
+int eal_err_read_from_file_is_error = 1;
+
 /**
  * union for pipe fds.
  */
@@ -711,10 +714,19 @@ eal_intr_process_interrupts(struct epoll_event *events, int nfds)
                                if (errno == EINTR || errno == EWOULDBLOCK)
                                        continue;
 
-                               RTE_LOG(ERR, EAL, "Error reading from file "
-                                       "descriptor %d: %s\n",
-                                       events[n].data.fd,
-                                       strerror(errno));
+                // TREX_PATCH. Because of issues with e1000, we want this message to
+                // have lower priority only if running on e1000 card
+                if (eal_err_read_from_file_is_error) {
+                    RTE_LOG(ERR, EAL, "Error reading from file "
+                            "descriptor %d: %s\n",
+                            events[n].data.fd,
+                            strerror(errno));
+                } else {
+                    RTE_LOG(INFO, EAL, "Error reading from file "
+                            "descriptor %d: %s\n",
+                            events[n].data.fd,
+                            strerror(errno));
+                }
                        } else if (bytes_read == 0)
                                RTE_LOG(ERR, EAL, "Read nothing from file "
                                        "descriptor %d\n", events[n].data.fd);