Nicholas,
below.

On Thu, Nov 25, 2010 at 3:32 PM, Nicholas A. Bellinger
<n...@linux-iscsi.org> wrote:

> But existing code aside, I think having a small userspace iSCSI
> initiator built into QEMU that 'just works' across all host environments
> would be a pretty useful thing, even if the scalibility / scope is
> limited compared to existing kernel host level iSCSI initiator stacks,
> et al.  I have not yet had a chance to look at Ronnie's code, but would
> be interested to understand how the threading model currently functions.
>
> Ronnie, I would recommending following Kevin's earlier advice and split
> your work into a reviewable series of commits (preferrably generated by
> git-format-patch) and repost the series for feedback to qemu-devel.  You
> can read that as coded language for 'you will want to learn git to
> submit your patch', but it really does work.  ;)

Thanks,

I will work on the suggestions over the weekend, so Ill resend either
this weekend or next weekend.
So don't spend/waste time reviewing now.

As for the threading model.
Currently it is not threads safe, so all calls into the library would
have to be protected through a mutex if used from concurrent threads.
I couldn't see any such mutexes when looking at sheepdog as an
example, so do the block drivers need to be threads-safe in qemu?

One goal of the library is to be 100% async and to never make any
blocking syscalls.
So the library will never block and should be able to reach good
performance, even with one single thread.

(I assume your VirtualBOX performance problem was not the threading in
itself but that the threads use blocking calls?)


regards
ronnie sahlberg

Reply via email to