summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authoropen-iscsi <open-iscsi@d7303112-9cec-0310-bdd2-e83a94d6c2b6>2005-01-01 17:27:37 +0000
committeropen-iscsi <open-iscsi@d7303112-9cec-0310-bdd2-e83a94d6c2b6>2005-01-01 17:27:37 +0000
commit0ee11f5cae0ff097f89a508e5aaea8a5262201ca (patch)
treecb18361f8155113e0bea841fd993d4a6fec5f388 /TODO
downloadopen-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--TODO30
1 files changed, 30 insertions, 0 deletions
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..b874361
--- /dev/null
+++ b/TODO
@@ -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().