Message ID | 1485348842-23712-3-git-send-email-yoshihiro.shimoda.uh@renesas.com (mailing list archive) |
---|---|
State | Rejected |
Delegated to: | Geert Uytterhoeven |
Headers | show |
On 25/01/17 12:54, Yoshihiro Shimoda wrote: > In the future, the init_iova_rcaches will be called in atomic. That screams "doing the wrong thing". The sole point of the rcaches is to reuse IOVAs, whereas the main point of this series seems to involve not reusing IOVAs. The fact that we have to affect the allocation of something we explicitly want to avoid using, rather than, say, not allocating it at all, is a bit of a red flag. Also, the rcaches are rather big. Allocating all this lot in atomic context is not necessarily going to be the best idea. Robin. > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> > --- > drivers/iommu/iova.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/iommu/iova.c b/drivers/iommu/iova.c > index b7268a1..866ad65 100644 > --- a/drivers/iommu/iova.c > +++ b/drivers/iommu/iova.c > @@ -723,7 +723,9 @@ static void init_iova_rcaches(struct iova_domain *iovad) > rcache = &iovad->rcaches[i]; > spin_lock_init(&rcache->lock); > rcache->depot_size = 0; > - rcache->cpu_rcaches = __alloc_percpu(sizeof(*cpu_rcache), cache_line_size()); > + rcache->cpu_rcaches = __alloc_percpu_gfp(sizeof(*cpu_rcache), > + cache_line_size(), > + GFP_NOWAIT); > if (WARN_ON(!rcache->cpu_rcaches)) > continue; > for_each_possible_cpu(cpu) { >
diff --git a/drivers/iommu/iova.c b/drivers/iommu/iova.c index b7268a1..866ad65 100644 --- a/drivers/iommu/iova.c +++ b/drivers/iommu/iova.c @@ -723,7 +723,9 @@ static void init_iova_rcaches(struct iova_domain *iovad) rcache = &iovad->rcaches[i]; spin_lock_init(&rcache->lock); rcache->depot_size = 0; - rcache->cpu_rcaches = __alloc_percpu(sizeof(*cpu_rcache), cache_line_size()); + rcache->cpu_rcaches = __alloc_percpu_gfp(sizeof(*cpu_rcache), + cache_line_size(), + GFP_NOWAIT); if (WARN_ON(!rcache->cpu_rcaches)) continue; for_each_possible_cpu(cpu) {
In the future, the init_iova_rcaches will be called in atomic. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> --- drivers/iommu/iova.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)