Andreas Dilger a écrit :
On Mar 05, 2007  14:22 +0100, Donadini Thibault wrote:
Since the last documentation, OST_IO_PORTAL has been created and has replaced OST_REQUEST_PORTAL 6, which became OST_REQUEST_PORTAL 28.

What is the purpose of OST_IO_PORTAL ?
How does it work ? ( opcodes associated, ...., how many buffers.. with which information, etc..)

What is the new purpose of OST_REQUEST_PORTAL ?

The reason for this change is that small/fast RPC requests like getattr
were being blocked behind many GB of IO RPCs and this was causing
responsiveness problems.

For reasons of compatibility, the service threads running on portal #6
were kept for doing the large IO requests (because they have pre-allocated
1MB buffers for doing IO without allocations).  The small request RPCs
were moved to a new portal (#28) if both the client and server understand
the OBD_CONNECT_REQPORTAL feature.  Both services handle the same RPC
requests over the wire.

The same is true for the MDS_*_PORTAL - the format of the requests and
the back-end handling code is exactly the same, but they are split into
different portals because of latency or deadlock-avoidance issues.

Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.


Ok thank you, but what do you want to say with :

Both services handle the same RPC
requests over the wire.

Because if you speak about "opcodes", i didn't get the same for OST_REQUEST_PORTAL ( i got OST_PUNCH, LDLM_ENQUEUE) and OST_IO_PORTAL ( i got OST_WRITE,OST_READ) in tests i did.

Moreover, what do you mean with MDS_*_PORTAL, i didnt see very well .. because there isn't MDS_IO_PORTAL ?

Thibault DONADINI

_______________________________________________
Lustre-discuss mailing list
[email protected]
https://mail.clusterfs.com/mailman/listinfo/lustre-discuss

Reply via email to