X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lnet%2Fklnds%2Fsocklnd%2Fsocklnd_lib-winnt.c;h=08461e7ba305f7bfaa3109b9f8a1b307a6a47a6f;hb=ef5ada7eaf93f50f4df4b1eb837dd99822acb147;hp=06ef0d6767101873ef859b7709dad37610b5d260;hpb=50fa6533220487ab928404d14a95fe5503dc5ab7;p=fs%2Flustre-release.git diff --git a/lnet/klnds/socklnd/socklnd_lib-winnt.c b/lnet/klnds/socklnd/socklnd_lib-winnt.c old mode 100755 new mode 100644 index 06ef0d6..08461e7 --- a/lnet/klnds/socklnd/socklnd_lib-winnt.c +++ b/lnet/klnds/socklnd/socklnd_lib-winnt.c @@ -1,6 +1,4 @@ -/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- - * vim:expandtab:shiftwidth=8:tabstop=8: - * +/* * GPL HEADER START * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -26,7 +24,7 @@ * GPL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved + * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. */ /* @@ -79,7 +77,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; @@ -320,7 +326,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); @@ -341,7 +347,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); @@ -536,7 +542,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; @@ -546,7 +552,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( @@ -557,7 +563,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; @@ -565,7 +571,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); } @@ -610,25 +616,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);