From: Benjamin LaHaise Date: Tue, 30 Jul 2013 16:06:37 +0000 (-0400) Subject: aio: double aio_max_nr in calculations X-Git-Tag: upstream/snapshot3+hdmi~4306^2~9 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4cd81c3dfc4a34e4a0b6fa577860077c8e5b13af;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git aio: double aio_max_nr in calculations With the changes to use percpu counters for aio event ring size calculation, existing increases to aio_max_nr are now insufficient to allow for the allocation of enough events. Double the value used for aio_max_nr to account for the doubling introduced by the percpu slack. Signed-off-by: Benjamin LaHaise --- diff --git a/fs/aio.c b/fs/aio.c index e46b1195..945dd0d 100644 --- a/fs/aio.c +++ b/fs/aio.c @@ -490,7 +490,7 @@ static struct kioctx *ioctx_alloc(unsigned nr_events) return ERR_PTR(-EINVAL); } - if (!nr_events || (unsigned long)nr_events > aio_max_nr) + if (!nr_events || (unsigned long)nr_events > (aio_max_nr * 2UL)) return ERR_PTR(-EAGAIN); ctx = kmem_cache_zalloc(kioctx_cachep, GFP_KERNEL); @@ -522,7 +522,7 @@ static struct kioctx *ioctx_alloc(unsigned nr_events) /* limit the number of system wide aios */ spin_lock(&aio_nr_lock); - if (aio_nr + nr_events > aio_max_nr || + if (aio_nr + nr_events > (aio_max_nr * 2UL) || aio_nr + nr_events < aio_nr) { spin_unlock(&aio_nr_lock); goto out_cleanup;