From: Chris Mason Date: Fri, 3 Feb 2012 16:09:07 +0000 (-0500) Subject: RDS: kick krdsd to send congestion map updates X-Git-Tag: v4.1.12-92~319^2^2~2^2~36 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=f15013731b8ed36335f8916c2d5f451c62f53e12;p=users%2Fjedix%2Flinux-maple.git RDS: kick krdsd to send congestion map updates We can get into a deadlock on the recv spinlock because congestion map updates can be sent in the recev path. This pushes the work off to krdsd instead. Signed-off-by: Chris Mason Signed-off-by: Bang Nguyen --- diff --git a/net/rds/cong.c b/net/rds/cong.c index a79da0cc98a7..34607ac4da53 100644 --- a/net/rds/cong.c +++ b/net/rds/cong.c @@ -220,7 +220,7 @@ void rds_cong_queue_updates(struct rds_cong_map *map) list_for_each_entry(conn, &map->m_conn_list, c_map_item) { if (!test_and_set_bit(0, &conn->c_map_queued)) { rds_stats_inc(s_cong_update_queued); - rds_send_xmit(conn); + queue_delayed_work(rds_wq, &conn->c_send_w, 0); } }