+ if (write) {
+ /* Just reset the min stat. */
+ struct lnet_ni *ni;
+ struct lnet_net *net;
+
+ lnet_net_lock(0);
+
+ list_for_each_entry(net, &the_lnet.ln_nets, net_list) {
+ list_for_each_entry(ni, &net->net_ni_list, ni_netlist) {
+ struct lnet_tx_queue *tq;
+ int i;
+ int j;
+
+ cfs_percpt_for_each(tq, i, ni->ni_tx_queues) {
+ for (j = 0; ni->ni_cpts != NULL &&
+ j < ni->ni_ncpts; j++) {
+ if (i == ni->ni_cpts[j])
+ break;
+ }
+
+ if (j == ni->ni_ncpts)
+ continue;
+
+ if (i != 0)
+ lnet_net_lock(i);
+ tq->tq_credits_min = tq->tq_credits;
+ if (i != 0)
+ lnet_net_unlock(i);
+ }
+ }
+ }
+ lnet_net_unlock(0);
+ *ppos += *lenp;
+ return 0;
+ }
+