From 26fd938ccf702dbb3f46702466ce732ad6480f64 Mon Sep 17 00:00:00 2001 From: Adam Rutkowski Date: Mon, 10 Feb 2020 15:21:16 -0500 Subject: [PATCH] Reduce max trim request size to 512K 512K is the maximum request size for which request map fits into one page (4K) regardless of cacheline size. Signed-off-by: Adam Rutkowski --- inc/ocf_def.h | 2 +- src/ocf_request.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/inc/ocf_def.h b/inc/ocf_def.h index b5a4364..bdbe211 100644 --- a/inc/ocf_def.h +++ b/inc/ocf_def.h @@ -352,6 +352,6 @@ typedef enum { * @} */ -#define MAX_TRIM_RQ_SIZE (1 * MiB) +#define MAX_TRIM_RQ_SIZE (512 * KiB) #endif /* __OCF_DEF_H__ */ diff --git a/src/ocf_request.c b/src/ocf_request.c index 8584b71..be98f0a 100644 --- a/src/ocf_request.c +++ b/src/ocf_request.c @@ -224,6 +224,9 @@ int ocf_req_alloc_map(struct ocf_request *req) int ocf_req_alloc_map_discard(struct ocf_request *req) { + ENV_BUILD_BUG_ON(MAX_TRIM_RQ_SIZE / ocf_cache_line_size_4 * + sizeof(struct ocf_map_info) > 4 * KiB); + if (req->byte_length <= MAX_TRIM_RQ_SIZE) return ocf_req_alloc_map(req);