From: Avinash Repaka Date: Tue, 14 Feb 2017 03:53:13 +0000 (-0800) Subject: Revert "RDS: Make message size limit compliant with spec" X-Git-Tag: v4.1.12-92~5^2 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=dcf966dc27ea2dff709abcc59a663fc9ecdea72a;p=users%2Fjedix%2Flinux-maple.git Revert "RDS: Make message size limit compliant with spec" This change *partially* reverts commit 3a0891b9a49e42d05519a2f8b33c86267eb63d35 This partial revert is needed due to regression with some RDS applications. It reverts RDS message size limit changes but retains the QOS related changes in the data send path. Orabug: 25472193 Tested-by: Efrain Galaviz Signed-off-by: Avinash Repaka Reviewed-by: Ajaykumar Hotchandani --- diff --git a/net/rds/rdma.c b/net/rds/rdma.c index 9fe3bc342ef58..37b99465ab77b 100644 --- a/net/rds/rdma.c +++ b/net/rds/rdma.c @@ -39,6 +39,7 @@ /* * XXX * - build with sparse + * - should we limit the size of a mr region? let transport return failure? * - should we detect duplicate keys on a socket? hmm. * - an rdma is an mlock, apply rlimit? */ @@ -199,15 +200,6 @@ static int __rds_rdma_map(struct rds_sock *rs, struct rds_get_mr_args *args, goto out; } - /* - * we restrict the size of mr irrespective of underlying transport - * To account for unaligned mr regions, we subtract one from nr_pages - */ - if ((nr_pages - 1) > (RDS_MAX_MSG_SIZE >> PAGE_SHIFT)) { - ret = -EMSGSIZE; - goto out; - } - rdsdebug("RDS: get_mr addr %llx len %llu nr_pages %u\n", args->vec.addr, args->vec.bytes, nr_pages); diff --git a/net/rds/rds.h b/net/rds/rds.h index 4f1012c893633..abfa291c0296c 100644 --- a/net/rds/rds.h +++ b/net/rds/rds.h @@ -99,9 +99,6 @@ enum { #define RDS_FRAG_SIZE ((unsigned int)(1 << RDS_FRAG_SHIFT)) #define RDS_MAX_FRAG_SIZE SZ_16K -/* Used to limit both RDMA and non-RDMA RDS message to 1MB */ -#define RDS_MAX_MSG_SIZE ((unsigned int)(1 << 20)) - #define RDS_CONG_MAP_BYTES (65536 / 8) #define RDS_CONG_PAGE_SIZE (1UL << 12) #define RDS_CONG_MAP_LONGS (RDS_CONG_MAP_BYTES / sizeof(unsigned long)) diff --git a/net/rds/send.c b/net/rds/send.c index cb90d3beda14f..dcc17db882720 100644 --- a/net/rds/send.c +++ b/net/rds/send.c @@ -1245,11 +1245,6 @@ int rds_sendmsg(struct socket *sock, struct msghdr *msg, size_t payload_len) if (ret) goto out; - if (max_t(size_t, payload_len, rdma_payload_len) > RDS_MAX_MSG_SIZE) { - ret = -EMSGSIZE; - goto out; - } - if (payload_len > rds_sk_sndbuf(rs)) { ret = -EMSGSIZE; goto out;