X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lnet%2Fklnds%2Fsocklnd%2Fsocklnd_lib-winnt.c;h=52f4a09b2d8defdb9edf10b1fc3c4ded61ef6658;hb=6e3ec5812ebd1b5ecf7cae584f429b013ffe7431;hp=0e5d65d36136084c053e8bb64a0a00af0cffbefd;hpb=e5c35288861cf8ca4aecc30747b61069f9d80bb5;p=fs%2Flustre-release.git diff --git a/lnet/klnds/socklnd/socklnd_lib-winnt.c b/lnet/klnds/socklnd/socklnd_lib-winnt.c index 0e5d65d..52f4a09 100755 --- a/lnet/klnds/socklnd/socklnd_lib-winnt.c +++ b/lnet/klnds/socklnd/socklnd_lib-winnt.c @@ -79,7 +79,15 @@ ksocknal_lib_tunables_init () ksocknal_ctl_table[i].ctl_name = j++; ksocknal_ctl_table[i].procname = "peer_credits"; - ksocknal_ctl_table[i].data = ksocknal_tunables.ksnd_peercredits; + ksocknal_ctl_table[i].data = ksocknal_tunables.ksnd_peertxcredits; + ksocknal_ctl_table[i].maxlen = sizeof (int); + ksocknal_ctl_table[i].mode = 0444; + ksocknal_ctl_table[i].proc_handler = &proc_dointvec; + i++; + + ksocknal_ctl_table[i].ctl_name = j++; + ksocknal_ctl_table[i].procname = "peer_buffer_credits"; + ksocknal_ctl_table[i].data = ksocknal_tunables.ksnd_peerrtrcredits; ksocknal_ctl_table[i].maxlen = sizeof (int); ksocknal_ctl_table[i].mode = 0444; ksocknal_ctl_table[i].proc_handler = &proc_dointvec; @@ -120,7 +128,7 @@ ksocknal_lib_tunables_init () ksocknal_ctl_table[i].ctl_name = j++; ksocknal_ctl_table[i].procname = "zero_copy"; - ksocknal_ctl_table[i].data = ksocknal_tunables.ksnd_zc_min_frag; + ksocknal_ctl_table[i].data = ksocknal_tunables.ksnd_zc_min_payload; ksocknal_ctl_table[i].maxlen = sizeof (int); ksocknal_ctl_table[i].mode = 0644; ksocknal_ctl_table[i].proc_handler = &proc_dointvec; @@ -166,6 +174,14 @@ ksocknal_lib_tunables_init () ksocknal_ctl_table[i].proc_handler = &proc_dointvec; i++; + ksocknal_ctl_table[i].ctl_name = j++; + ksocknal_ctl_table[i].procname = "round_robin"; + ksocknal_ctl_table[i].data = ksocknal_tunables.ksnd_round_robin; + ksocknal_ctl_table[i].maxlen = sizeof(int); + ksocknal_ctl_table[i].mode = 0644; + ksocknal_ctl_table[i].proc_handler = &proc_dointvec; + i++; + #ifdef CPU_AFFINITY ksocknal_ctl_table[i].ctl_name = j++; ksocknal_ctl_table[i].procname = "irq_affinity"; @@ -312,7 +328,7 @@ ksocknal_lib_send_iov (ksock_conn_t *conn, ksock_tx_t *tx) ksocknal_lib_csum_tx(tx); nob = ks_query_iovs_length(tx->tx_iov, tx->tx_niov); - flags = (!list_empty (&conn->ksnc_tx_queue) || nob < tx->tx_resid) ? + flags = (!cfs_list_empty (&conn->ksnc_tx_queue) || nob < tx->tx_resid) ? (MSG_DONTWAIT | MSG_MORE) : MSG_DONTWAIT; rc = ks_send_iovs(sock, tx->tx_iov, tx->tx_niov, flags, 0); @@ -333,7 +349,7 @@ ksocknal_lib_send_kiov (ksock_conn_t *conn, ksock_tx_t *tx) nkiov = tx->tx_nkiov; nob = ks_query_kiovs_length(tx->tx_kiov, nkiov); - flags = (!list_empty (&conn->ksnc_tx_queue) || nob < tx->tx_resid) ? + flags = (!cfs_list_empty (&conn->ksnc_tx_queue) || nob < tx->tx_resid) ? (MSG_DONTWAIT | MSG_MORE) : MSG_DONTWAIT; rc = ks_send_kiovs(sock, tx->tx_kiov, nkiov, flags, 0); @@ -528,7 +544,7 @@ ksocknal_lib_push_conn (ksock_conn_t *conn) ks_get_tconn(tconn); - spin_lock(&tconn->kstc_lock); + cfs_spin_lock(&tconn->kstc_lock); if (tconn->kstc_type == kstt_sender) { nagle = tconn->sender.kstc_info.nagle; tconn->sender.kstc_info.nagle = 0; @@ -538,7 +554,7 @@ ksocknal_lib_push_conn (ksock_conn_t *conn) tconn->child.kstc_info.nagle = 0; } - spin_unlock(&tconn->kstc_lock); + cfs_spin_unlock(&tconn->kstc_lock); val = 1; rc = ks_set_tcp_option( @@ -549,7 +565,7 @@ ksocknal_lib_push_conn (ksock_conn_t *conn) ); LASSERT (rc == 0); - spin_lock(&tconn->kstc_lock); + cfs_spin_lock(&tconn->kstc_lock); if (tconn->kstc_type == kstt_sender) { tconn->sender.kstc_info.nagle = nagle; @@ -557,7 +573,7 @@ ksocknal_lib_push_conn (ksock_conn_t *conn) LASSERT(tconn->kstc_type == kstt_child); tconn->child.kstc_info.nagle = nagle; } - spin_unlock(&tconn->kstc_lock); + cfs_spin_unlock(&tconn->kstc_lock); ks_put_tconn(tconn); } @@ -602,25 +618,25 @@ void ksocknal_schedule_callback(struct socket*sock, int mode) { ksock_conn_t * conn = (ksock_conn_t *) sock->kstc_conn; - read_lock (&ksocknal_data.ksnd_global_lock); + cfs_read_lock (&ksocknal_data.ksnd_global_lock); if (mode) { ksocknal_write_callback(conn); } else { ksocknal_read_callback(conn); } - read_unlock (&ksocknal_data.ksnd_global_lock); + cfs_read_unlock (&ksocknal_data.ksnd_global_lock); } void ksocknal_tx_fini_callback(ksock_conn_t * conn, ksock_tx_t * tx) { /* remove tx/conn from conn's outgoing queue */ - spin_lock_bh (&conn->ksnc_scheduler->kss_lock); - list_del(&tx->tx_list); - if (list_empty(&conn->ksnc_tx_queue)) { - list_del (&conn->ksnc_tx_list); + cfs_spin_lock_bh (&conn->ksnc_scheduler->kss_lock); + cfs_list_del(&tx->tx_list); + if (cfs_list_empty(&conn->ksnc_tx_queue)) { + cfs_list_del (&conn->ksnc_tx_list); } - spin_unlock_bh (&conn->ksnc_scheduler->kss_lock); + cfs_spin_unlock_bh (&conn->ksnc_scheduler->kss_lock); /* complete send; tx -ref */ ksocknal_tx_decref (tx); @@ -646,7 +662,19 @@ ksocknal_lib_reset_callback(struct socket *sock, ksock_conn_t *conn) } int -ksocknal_lib_zc_capable(struct socket *sock) +ksocknal_lib_zc_capable(ksock_conn_t *conn) +{ + return 0; +} + +int +ksocknal_lib_memory_pressure(ksock_conn_t *conn) +{ + return 0; +} + +int +ksocknal_lib_bind_thread_to_cpu(int id) { return 0; }