scst: make tgt_dev per-CPU array directly referenced

Modern distributions come with kernels configured for thousands CPUs
(NR_CPUS), which leads to per-CPU array of SGV pool references in each
tgt_dev exceed tens of KB requiring high order page allocations that are
not reliable on aged systems leading to inabilities to create new
sessions.

Reported-by: Jose Martins <jose.martins2307@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7373 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Vladislav Bolkhovitin
2018-02-16 05:27:51 +00:00
parent fa153f9b96
commit 464b87730c
3 changed files with 48 additions and 54 deletions
-4
View File
@@ -3148,11 +3148,7 @@ struct scst_tgt_dev {
gfp_t tgt_dev_gfp_mask;
/* SGV pool from which buffers of this tgt_dev's cmds should be allocated */
#ifdef CONFIG_CPUMASK_OFFSTACK
struct sgv_pool **pools;
#else
struct sgv_pool *pools[NR_CPUS];
#endif
/* Max number of allowed in this tgt_dev SG segments */
int max_sg_cnt;