Thread (115 messages) 115 messages, 7 authors, 2010-08-04

Re: [PATCH UPDATED 1/3] vhost: replace vhost_workqueue with per-vhost kthread

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2010-07-26 17:16:01
Also in: kvm, lkml

On Mon, Jul 26, 2010 at 06:05:27PM +0200, Tejun Heo wrote:
Hello,

On 07/26/2010 05:50 PM, Michael S. Tsirkin wrote:
quoted
quoted
Hmmm... I'm not quite sure whether it's an optimization.  I thought
the patch was due to feeling uncomfortable about using barriers?
Oh yes. But getting rid of barriers is what motivated me originally.
Yeah, getting rid of barriers is always good.  :-)
quoted
Is there a git tree with kthread_worker applied?
I might do this just for fun ...
 git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git for-next

For the original implementaiton, please take a look at commit
b56c0d8937e665a27d90517ee7a746d0aa05af46.

* Can you please keep the outer goto repeat loop?  I just don't like
  outermost for (;;).
Okay ... can we put the code in a {} scope to make it clear
where does the loop starts and ends?
* Placing try_to_freeze() could be a bit annoying.  It shouldn't be
  executed when there's a work to flush.
It currently seems to be executed when there is work to flush.
Is this wrong?
* I think A - B <= 0 test would be more familiar.  At least
  time_before/after() are implemented that way.
I am concerned that this overflows a signed integer -
which I seem to remeber that C99 disallows.
timer macros are on data path so might be worth the risk there,
but flush is slow path so better be safe?
Thanks.

-- 
tejun
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help