diff options
author | open-iscsi <open-iscsi@d7303112-9cec-0310-bdd2-e83a94d6c2b6> | 2005-01-01 17:27:37 +0000 |
---|---|---|
committer | open-iscsi <open-iscsi@d7303112-9cec-0310-bdd2-e83a94d6c2b6> | 2005-01-01 17:27:37 +0000 |
commit | 0ee11f5cae0ff097f89a508e5aaea8a5262201ca (patch) | |
tree | cb18361f8155113e0bea841fd993d4a6fec5f388 /TODO | |
download | open-iscsi-0ee11f5cae0ff097f89a508e5aaea8a5262201ca.tar.gz |
initial commit
git-svn-id: svn://svn.berlios.de/open-iscsi@1 d7303112-9cec-0310-bdd2-e83a94d6c2b6
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -0,0 +1,30 @@ +* optimize queue->lock, use atomic operations if possible +* do we need ctask->sg_count? can we use ctask->sg instead? +* optimize HEAD + SENDBUF logic, no need to have two "if" statements: + + + } + ctask->r2t = r2t; + ctask->in_progress = IN_PROGRESS_SOLICIT_WRITE; + /* can goto to fixme */ + } + + if (ctask->in_progress == IN_PROGRESS_SOLICIT_WRITE) { + r2t = ctask->r2t; +_solicit_again: + /* + * send Data-Out's payload whitnin this R2T sequence. + */ + if (r2t->data_count) { +fixme: + len = r2t->sendbuf.size - r2t->sendbuf.sent; + if (len > r2t->data_count) { + len = r2t->data_count; + +* data_xmit(): recover sendpage() error. +* make sense to split data_recv() and exctract data-in processing into + separated function. Call it from header processing context directly if + there is an iSCSI data and from data_recv() later on conn state machine + processing. +* restructure header processing code into set of small functions. +* prefetch in tcp_copy_bits(). |