Re: [Ryu-devel] [PATCH v4] Set a timeout on event queue put() and get(), with minor corrections.

2015-12-30 Thread Victor Orlikowski
On Dec 30, 2015, at 6:07 PM, Victor J. Orlikowski wrote: > > As I thought about the drain rate from event queue, it became obvious to me > the we need to give get() operations preferential treatment. Please hold off on this patch. I was correct in being concerned about the drain rate - but was

[Ryu-devel] Question regarding semantics in app_manager.py

2015-12-30 Thread Victor Orlikowski
Folks, Looking at app_manager.py, I see: def stop(self): if self.main_thread: hub.kill(self.main_thread) self.is_active = False self._send_event(self._event_stop, None) hub.joinall(self.threads) and I also see: def _event_loop(self): w

[Ryu-devel] [PATCH v4] Set a timeout on event queue put() and get(), with minor corrections.

2015-12-30 Thread Victor Orlikowski
And one more. As I thought about the drain rate from event queue, it became obvious to me the we need to give get() operations preferential treatment. Please find the revised patch below. Signed-off-by: Victor J. Orlikowski diff --git a/ryu/base/app_manager.py b/ryu/base/app_manager.py index 3

[Ryu-devel] benchmarking tool

2015-12-30 Thread mehran shetabi
Hi, Is there any benchmarking tool like cbench to evaluate a ryu controller that uses openflow 1.3 protocol? Thank you, ... mehran shetabi PhD student Computer Engineering Department IUST---

[Ryu-devel] [PATCH v3] Set a timeout on event queue put() and get(), with minor corrections.

2015-12-30 Thread Victor Orlikowski
Sigh. One more update to my earlier patch. Realized I needed to expose the Full and Empty conditions from the hub. Also realized (such shame!) that the Full and Empty conditions are in eventlet.queue. Please find the revised patch below. Signed-off-by: Victor J. Orlikowski diff --git a/ryu/bas

[Ryu-devel] [PATCH v2] Set a timeout on event queue put() and get()

2015-12-30 Thread Victor Orlikowski
An update to my earlier patch, which had been just against the event queue put(). It occurs to me that the event queue get() poses just as much of a potential issue. Please find the revised patch below. Signed-off-by: Victor J. Orlikowski diff --git a/ryu/base/app_manager.py b/ryu/base/app_ma

[Ryu-devel] [PATCH] Cleanup variable name for clarity

2015-12-30 Thread Victor Orlikowski
Just cleaning up where the patch you previously applied for me is the original version, and not the corrected version. Thanks for applying the original! Signed-off-by: Victor J. Orlikowski diff --git a/ryu/controller/dpset.py b/ryu/controller/dpset.py index 0d65d74..2682777 100644 --- a/ryu/con

[Ryu-devel] [PATCH] Set a timeout on event queue put()

2015-12-30 Thread Victor Orlikowski
Yet another discovery in our 10G production deployment. Under heavy event load, the event queue can fill up. We used eventlet.backdoor to debug the state of the greenlets, and found many greenlets stuck thus: (3311, ) File "/opt/plexus/lib/python2.6/site-packages/eventlet/greenthread.py", line