Merge tag 'v4.18' into rdma.git for-next
Resolve merge conflicts from the -rc cycle against the rdma.git tree: Conflicts: drivers/infiniband/core/uverbs_cmd.c - New ifs added to ib_uverbs_ex_create_flow in -rc and for-next - Merge removal of file->ucontext in for-next with new code in -rc drivers/infiniband/core/uverbs_main.c - for-next removed code from ib_uverbs_write() that was modified in for-rc Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
@@ -494,7 +494,8 @@ out:
|
||||
|
||||
void smc_tx_consumer_update(struct smc_connection *conn, bool force)
|
||||
{
|
||||
union smc_host_cursor cfed, cons;
|
||||
union smc_host_cursor cfed, cons, prod;
|
||||
int sender_free = conn->rmb_desc->len;
|
||||
int to_confirm;
|
||||
|
||||
smc_curs_write(&cons,
|
||||
@@ -504,11 +505,18 @@ void smc_tx_consumer_update(struct smc_connection *conn, bool force)
|
||||
smc_curs_read(&conn->rx_curs_confirmed, conn),
|
||||
conn);
|
||||
to_confirm = smc_curs_diff(conn->rmb_desc->len, &cfed, &cons);
|
||||
if (to_confirm > conn->rmbe_update_limit) {
|
||||
smc_curs_write(&prod,
|
||||
smc_curs_read(&conn->local_rx_ctrl.prod, conn),
|
||||
conn);
|
||||
sender_free = conn->rmb_desc->len -
|
||||
smc_curs_diff(conn->rmb_desc->len, &prod, &cfed);
|
||||
}
|
||||
|
||||
if (conn->local_rx_ctrl.prod_flags.cons_curs_upd_req ||
|
||||
force ||
|
||||
((to_confirm > conn->rmbe_update_limit) &&
|
||||
((to_confirm > (conn->rmb_desc->len / 2)) ||
|
||||
((sender_free <= (conn->rmb_desc->len / 2)) ||
|
||||
conn->local_rx_ctrl.prod_flags.write_blocked))) {
|
||||
if ((smc_cdc_get_slot_and_msg_send(conn) < 0) &&
|
||||
conn->alert_token_local) { /* connection healthy */
|
||||
|
Reference in New Issue
Block a user