* [PATCH] rds: use DIV_ROUND_UP instead of ceil
@ 2019-01-03 8:46 Jacob Wen
2019-01-04 20:56 ` David Miller
0 siblings, 1 reply; 2+ messages in thread
From: Jacob Wen @ 2019-01-03 8:46 UTC (permalink / raw)
To: netdev; +Cc: rds-devel
Yes indeed, DIV_ROUND_UP is in kernel.h.
Signed-off-by: Jacob Wen <jian.w.wen@oracle.com>
---
net/rds/ib_send.c | 4 ++--
net/rds/message.c | 4 ++--
net/rds/rds.h | 4 ----
net/rds/send.c | 2 +-
4 files changed, 5 insertions(+), 9 deletions(-)
diff --git a/net/rds/ib_send.c b/net/rds/ib_send.c
index 2dcb555e6350..4e0c36acf866 100644
--- a/net/rds/ib_send.c
+++ b/net/rds/ib_send.c
@@ -522,7 +522,7 @@ int rds_ib_xmit(struct rds_connection *conn, struct rds_message *rm,
if (be32_to_cpu(rm->m_inc.i_hdr.h_len) == 0)
i = 1;
else
- i = ceil(be32_to_cpu(rm->m_inc.i_hdr.h_len), RDS_FRAG_SIZE);
+ i = DIV_ROUND_UP(be32_to_cpu(rm->m_inc.i_hdr.h_len), RDS_FRAG_SIZE);
work_alloc = rds_ib_ring_alloc(&ic->i_send_ring, i, &pos);
if (work_alloc == 0) {
@@ -879,7 +879,7 @@ int rds_ib_xmit_rdma(struct rds_connection *conn, struct rm_rdma_op *op)
* Instead of knowing how to return a partial rdma read/write we insist that there
* be enough work requests to send the entire message.
*/
- i = ceil(op->op_count, max_sge);
+ i = DIV_ROUND_UP(op->op_count, max_sge);
work_alloc = rds_ib_ring_alloc(&ic->i_send_ring, i, &pos);
if (work_alloc != i) {
diff --git a/net/rds/message.c b/net/rds/message.c
index 4b00b1152a5f..f0ef27019c59 100644
--- a/net/rds/message.c
+++ b/net/rds/message.c
@@ -330,7 +330,7 @@ struct rds_message *rds_message_map_pages(unsigned long *page_addrs, unsigned in
{
struct rds_message *rm;
unsigned int i;
- int num_sgs = ceil(total_len, PAGE_SIZE);
+ int num_sgs = DIV_ROUND_UP(total_len, PAGE_SIZE);
int extra_bytes = num_sgs * sizeof(struct scatterlist);
rm = rds_message_alloc(extra_bytes, GFP_NOWAIT);
@@ -339,7 +339,7 @@ struct rds_message *rds_message_map_pages(unsigned long *page_addrs, unsigned in
set_bit(RDS_MSG_PAGEVEC, &rm->m_flags);
rm->m_inc.i_hdr.h_len = cpu_to_be32(total_len);
- rm->data.op_nents = ceil(total_len, PAGE_SIZE);
+ rm->data.op_nents = DIV_ROUND_UP(total_len, PAGE_SIZE);
rm->data.op_sg = rds_message_alloc_sgs(rm, num_sgs);
if (!rm->data.op_sg) {
rds_message_put(rm);
diff --git a/net/rds/rds.h b/net/rds/rds.h
index 6bfaf05b63b2..03f982773858 100644
--- a/net/rds/rds.h
+++ b/net/rds/rds.h
@@ -48,10 +48,6 @@ void rdsdebug(char *fmt, ...)
}
#endif
-/* XXX is there one of these somewhere? */
-#define ceil(x, y) \
- ({ unsigned long __x = (x), __y = (y); (__x + __y - 1) / __y; })
-
#define RDS_FRAG_SHIFT 12
#define RDS_FRAG_SIZE ((unsigned int)(1 << RDS_FRAG_SHIFT))
diff --git a/net/rds/send.c b/net/rds/send.c
index fe785ee819dd..0bd4124fbd67 100644
--- a/net/rds/send.c
+++ b/net/rds/send.c
@@ -1082,7 +1082,7 @@ int rds_sendmsg(struct socket *sock, struct msghdr *msg, size_t payload_len)
size_t total_payload_len = payload_len, rdma_payload_len = 0;
bool zcopy = ((msg->msg_flags & MSG_ZEROCOPY) &&
sock_flag(rds_rs_to_sk(rs), SOCK_ZEROCOPY));
- int num_sgs = ceil(payload_len, PAGE_SIZE);
+ int num_sgs = DIV_ROUND_UP(payload_len, PAGE_SIZE);
int namelen;
/* Mirror Linux UDP mirror of BSD error message compatibility */
--
2.17.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] rds: use DIV_ROUND_UP instead of ceil
2019-01-03 8:46 [PATCH] rds: use DIV_ROUND_UP instead of ceil Jacob Wen
@ 2019-01-04 20:56 ` David Miller
0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2019-01-04 20:56 UTC (permalink / raw)
To: jian.w.wen; +Cc: netdev, rds-devel
From: Jacob Wen <jian.w.wen@oracle.com>
Date: Thu, 3 Jan 2019 16:46:08 +0800
> Yes indeed, DIV_ROUND_UP is in kernel.h.
>
> Signed-off-by: Jacob Wen <jian.w.wen@oracle.com>
This does not apply to my tree.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-01-04 20:56 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-03 8:46 [PATCH] rds: use DIV_ROUND_UP instead of ceil Jacob Wen
2019-01-04 20:56 ` David Miller
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.