Re: Question about the synctask

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Wed, Sep 26, 2012 at 1:55 AM, Gustavo Bervian Brand <gugabrand@xxxxxxxxx> wrote:
Hello,

  Some days ago when I mentioned I was using syncop_*() calls and Avati asked if I was triggering them from a synctask worker.
 
  By what I can see the synctask_new will create a new thread each time, so if want a real syncronous execution from within a sequence of readv calls, creating a synctask at each readv doesn't seem a good way to go because the order of execution of these threads is not guaranteed to be sequential.

  So, my question is why the syncop calls wouldn't be ok to be executed outside a synctask worker in this scenario (or any other)? 
  I didn't find any documentation about this, so that's why I am asking.


Synctasks use pre-running syncproc threads to schedule the task. The normal FOPs are asynchronous in nature (i.e, a STACK_WIND return is only the return of a submission, not the return of the operation). Syncops give you a synchronous wrapper around the fundamentally asynchronous calls. For this they either block the calling thread (which is very dangerous if the thread calling syncop is the poll thread), or, when executed within a synctask (in a syncenv), utilize setcontext/getcontext to give the "feeling" of a blocked thread.


Avati



[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux