Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

rds: remove the second argument of k[un]map_atomic()

Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Cong Wang <amwang@redhat.com>

authored by

Cong Wang and committed by
Cong Wang
6114eab5 0352bc55

+16 -21
+3 -4
net/rds/ib_recv.c
··· 763 763 to_copy = min(RDS_FRAG_SIZE - frag_off, PAGE_SIZE - map_off); 764 764 BUG_ON(to_copy & 7); /* Must be 64bit aligned. */ 765 765 766 - addr = kmap_atomic(sg_page(&frag->f_sg), KM_SOFTIRQ0); 766 + addr = kmap_atomic(sg_page(&frag->f_sg)); 767 767 768 768 src = addr + frag_off; 769 769 dst = (void *)map->m_page_addrs[map_page] + map_off; ··· 773 773 uncongested |= ~(*src) & *dst; 774 774 *dst++ = *src++; 775 775 } 776 - kunmap_atomic(addr, KM_SOFTIRQ0); 776 + kunmap_atomic(addr); 777 777 778 778 copied += to_copy; 779 779 ··· 919 919 rds_ib_cong_recv(conn, ibinc); 920 920 else { 921 921 rds_recv_incoming(conn, conn->c_faddr, conn->c_laddr, 922 - &ibinc->ii_inc, GFP_ATOMIC, 923 - KM_SOFTIRQ0); 922 + &ibinc->ii_inc, GFP_ATOMIC); 924 923 state->ack_next = be64_to_cpu(hdr->h_sequence); 925 924 state->ack_next_valid = 1; 926 925 }
+3 -3
net/rds/info.c
··· 104 104 void rds_info_iter_unmap(struct rds_info_iterator *iter) 105 105 { 106 106 if (iter->addr) { 107 - kunmap_atomic(iter->addr, KM_USER0); 107 + kunmap_atomic(iter->addr); 108 108 iter->addr = NULL; 109 109 } 110 110 } ··· 119 119 120 120 while (bytes) { 121 121 if (!iter->addr) 122 - iter->addr = kmap_atomic(*iter->pages, KM_USER0); 122 + iter->addr = kmap_atomic(*iter->pages); 123 123 124 124 this = min(bytes, PAGE_SIZE - iter->offset); 125 125 ··· 134 134 iter->offset += this; 135 135 136 136 if (iter->offset == PAGE_SIZE) { 137 - kunmap_atomic(iter->addr, KM_USER0); 137 + kunmap_atomic(iter->addr); 138 138 iter->addr = NULL; 139 139 iter->offset = 0; 140 140 iter->pages++;
+3 -4
net/rds/iw_recv.c
··· 598 598 to_copy = min(RDS_FRAG_SIZE - frag_off, PAGE_SIZE - map_off); 599 599 BUG_ON(to_copy & 7); /* Must be 64bit aligned. */ 600 600 601 - addr = kmap_atomic(frag->f_page, KM_SOFTIRQ0); 601 + addr = kmap_atomic(frag->f_page); 602 602 603 603 src = addr + frag_off; 604 604 dst = (void *)map->m_page_addrs[map_page] + map_off; ··· 608 608 uncongested |= ~(*src) & *dst; 609 609 *dst++ = *src++; 610 610 } 611 - kunmap_atomic(addr, KM_SOFTIRQ0); 611 + kunmap_atomic(addr); 612 612 613 613 copied += to_copy; 614 614 ··· 754 754 rds_iw_cong_recv(conn, iwinc); 755 755 else { 756 756 rds_recv_incoming(conn, conn->c_faddr, conn->c_laddr, 757 - &iwinc->ii_inc, GFP_ATOMIC, 758 - KM_SOFTIRQ0); 757 + &iwinc->ii_inc, GFP_ATOMIC); 759 758 state->ack_next = be64_to_cpu(hdr->h_sequence); 760 759 state->ack_next_valid = 1; 761 760 }
+1 -1
net/rds/loop.c
··· 79 79 rds_message_addref(rm); 80 80 81 81 rds_recv_incoming(conn, conn->c_laddr, conn->c_faddr, &rm->m_inc, 82 - GFP_KERNEL, KM_USER0); 82 + GFP_KERNEL); 83 83 84 84 rds_send_drop_acked(conn, be64_to_cpu(rm->m_inc.i_hdr.h_sequence), 85 85 NULL);
+1 -1
net/rds/rds.h
··· 704 704 __be32 saddr); 705 705 void rds_inc_put(struct rds_incoming *inc); 706 706 void rds_recv_incoming(struct rds_connection *conn, __be32 saddr, __be32 daddr, 707 - struct rds_incoming *inc, gfp_t gfp, enum km_type km); 707 + struct rds_incoming *inc, gfp_t gfp); 708 708 int rds_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, 709 709 size_t size, int msg_flags); 710 710 void rds_clear_recv_queue(struct rds_sock *rs);
+1 -1
net/rds/recv.c
··· 155 155 * tell us which roles the addrs in the conn are playing for this message. 156 156 */ 157 157 void rds_recv_incoming(struct rds_connection *conn, __be32 saddr, __be32 daddr, 158 - struct rds_incoming *inc, gfp_t gfp, enum km_type km) 158 + struct rds_incoming *inc, gfp_t gfp) 159 159 { 160 160 struct rds_sock *rs = NULL; 161 161 struct sock *sk;
+4 -7
net/rds/tcp_recv.c
··· 169 169 struct rds_tcp_desc_arg { 170 170 struct rds_connection *conn; 171 171 gfp_t gfp; 172 - enum km_type km; 173 172 }; 174 173 175 174 static int rds_tcp_data_recv(read_descriptor_t *desc, struct sk_buff *skb, ··· 254 255 else 255 256 rds_recv_incoming(conn, conn->c_faddr, 256 257 conn->c_laddr, &tinc->ti_inc, 257 - arg->gfp, arg->km); 258 + arg->gfp); 258 259 259 260 tc->t_tinc_hdr_rem = sizeof(struct rds_header); 260 261 tc->t_tinc_data_rem = 0; ··· 271 272 } 272 273 273 274 /* the caller has to hold the sock lock */ 274 - static int rds_tcp_read_sock(struct rds_connection *conn, gfp_t gfp, 275 - enum km_type km) 275 + static int rds_tcp_read_sock(struct rds_connection *conn, gfp_t gfp) 276 276 { 277 277 struct rds_tcp_connection *tc = conn->c_transport_data; 278 278 struct socket *sock = tc->t_sock; ··· 281 283 /* It's like glib in the kernel! */ 282 284 arg.conn = conn; 283 285 arg.gfp = gfp; 284 - arg.km = km; 285 286 desc.arg.data = &arg; 286 287 desc.error = 0; 287 288 desc.count = 1; /* give more than one skb per call */ ··· 308 311 rdsdebug("recv worker conn %p tc %p sock %p\n", conn, tc, sock); 309 312 310 313 lock_sock(sock->sk); 311 - ret = rds_tcp_read_sock(conn, GFP_KERNEL, KM_USER0); 314 + ret = rds_tcp_read_sock(conn, GFP_KERNEL); 312 315 release_sock(sock->sk); 313 316 314 317 return ret; ··· 333 336 ready = tc->t_orig_data_ready; 334 337 rds_tcp_stats_inc(s_tcp_data_ready_calls); 335 338 336 - if (rds_tcp_read_sock(conn, GFP_ATOMIC, KM_SOFTIRQ0) == -ENOMEM) 339 + if (rds_tcp_read_sock(conn, GFP_ATOMIC) == -ENOMEM) 337 340 queue_delayed_work(rds_wq, &conn->c_recv_w, 0); 338 341 out: 339 342 read_unlock_bh(&sk->sk_callback_lock);