|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: Framing Discussion> > >> The design goal behind the framing discussion > >> is avoidance of that copy. In contrast to the > >> typical case for NICs and TCP/IP, read data > >> buffers for SCSI data are usually *not* > >> interchangeable. > >> > >Why are they not interchangeable ? This is an > >assumption not stated anywhere. Is there > >a list of other assumptions that is documented ? > > > > Typically, the original data buffer is with the application that > made the SCSI READ request - and this buffer may not have been > allocated with the constraints that should be ready for a simple > swapping. Assuming that the constraints are met, it would require > VM page flipping, which is considered to be an implementation hack. > Buffer being allocated by the user application is just one case where applications are doing raw read. I understand that it is a problem when buffers are pre-allocated. But is this the problem space we are addressing here ? Moreover, page flipping is just one techinque for doing zero copy. > A protocol level solution to locate the buffer and its offset for > the incoming TCP segment is probably a better thing to have. > My point is it is not needed always. There are at least two cases i can see here : 1) iscsi layer posts pre-allocated buffers for receiving data from network. 2) iscsi layer posts commands and willing to receive buffers handed by the transport layer. In this cases, i would assume the iscsi layer can easily separate the data belonging to the different commands it posted. I don't see why you need any other extra mechanism here. So, what are the assumptions we are making on the iscsi/TCP architecture ? -mohan
Home Last updated: Tue Sep 04 01:06:03 2001 6315 messages in chronological order |