Message ID | 20231223004740.1401858-1-alison.schofield@intel.com |
---|---|
State | Superseded |
Commit | 7984d22f1315bf30433e11e5010e4ce09ca22037 |
Headers | show |
Series | [v3] cxl/region: Add dev_dbg() detail on failure to allocate HPA space | expand |
On Fri, Dec 22, 2023 at 04:47:40PM -0800, alison.schofield@intel.com wrote: > From: Alison Schofield <alison.schofield@intel.com> > > When the region driver fails while allocating HPA space for a > new region it can be because the parent resource, the CXL Window, > has no more available space. > > In that case, the debug user sees this message: > cxl_core:alloc_hpa:555: cxl region2: failed to allocate HPA: -34 > > Expand the message like this: > cxl_core:alloc_hpa:555: cxl region8: HPA allocation error (-34) for size:0x20000000 in CXL Window 0 [mem 0xf010000000-0xf04fffffff flags 0x200] > > Now the debug user can examine /proc/iomem and consider actions > like removing other allocations in that space or reducing the > size of their region request. > > Suggested-by: Dan Williams <dan.j.williams@intel.com> > Signed-off-by: Alison Schofield <alison.schofield@intel.com> > Reviewed-by: Dave Jiang <dave.jiang@intel.com> > Reviewed-by: Vishal Verma <vishal.l.verma@intel.com> > --- Reviewed-by: Fan Ni <fan.ni@samsung.com> > > Changes in v3: > - Add parens around error number (Vishal, Dan) > - Link to v2: https://lore.kernel.org/linux-cxl/20231129003953.1252985-1-alison.schofield@intel.com/ > > > drivers/cxl/core/region.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c > index 56e575c79bb4..a7b695db5dfc 100644 > --- a/drivers/cxl/core/region.c > +++ b/drivers/cxl/core/region.c > @@ -552,8 +552,9 @@ static int alloc_hpa(struct cxl_region *cxlr, resource_size_t size) > res = alloc_free_mem_region(cxlrd->res, size, SZ_256M, > dev_name(&cxlr->dev)); > if (IS_ERR(res)) { > - dev_dbg(&cxlr->dev, "failed to allocate HPA: %ld\n", > - PTR_ERR(res)); > + dev_dbg(&cxlr->dev, > + "HPA allocation error (%ld) for size:%#llx in %s %pr\n", > + PTR_ERR(res), size, cxlrd->res->name, cxlrd->res); > return PTR_ERR(res); > } > > > base-commit: b85ea95d086471afb4ad062012a4d73cd328fa86 > -- > 2.37.3 >
On Fri, 22 Dec 2023, alison.schofield@intel.com wrote: >From: Alison Schofield <alison.schofield@intel.com> > >When the region driver fails while allocating HPA space for a >new region it can be because the parent resource, the CXL Window, >has no more available space. > >In that case, the debug user sees this message: >cxl_core:alloc_hpa:555: cxl region2: failed to allocate HPA: -34 > >Expand the message like this: >cxl_core:alloc_hpa:555: cxl region8: HPA allocation error (-34) for size:0x20000000 in CXL Window 0 [mem 0xf010000000-0xf04fffffff flags 0x200] Nice. > >Now the debug user can examine /proc/iomem and consider actions >like removing other allocations in that space or reducing the >size of their region request. > Reviewed-by: Davidlohr Bueso <dave@stgolabs.net> >Suggested-by: Dan Williams <dan.j.williams@intel.com> >Signed-off-by: Alison Schofield <alison.schofield@intel.com> >Reviewed-by: Dave Jiang <dave.jiang@intel.com> >Reviewed-by: Vishal Verma <vishal.l.verma@intel.com> >--- > >Changes in v3: >- Add parens around error number (Vishal, Dan) >- Link to v2: https://lore.kernel.org/linux-cxl/20231129003953.1252985-1-alison.schofield@intel.com/ > > > drivers/cxl/core/region.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > >diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c >index 56e575c79bb4..a7b695db5dfc 100644 >--- a/drivers/cxl/core/region.c >+++ b/drivers/cxl/core/region.c >@@ -552,8 +552,9 @@ static int alloc_hpa(struct cxl_region *cxlr, resource_size_t size) > res = alloc_free_mem_region(cxlrd->res, size, SZ_256M, > dev_name(&cxlr->dev)); > if (IS_ERR(res)) { >- dev_dbg(&cxlr->dev, "failed to allocate HPA: %ld\n", >- PTR_ERR(res)); >+ dev_dbg(&cxlr->dev, >+ "HPA allocation error (%ld) for size:%#llx in %s %pr\n", >+ PTR_ERR(res), size, cxlrd->res->name, cxlrd->res); > return PTR_ERR(res); > } > > >base-commit: b85ea95d086471afb4ad062012a4d73cd328fa86 >-- >2.37.3 >
diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index 56e575c79bb4..a7b695db5dfc 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -552,8 +552,9 @@ static int alloc_hpa(struct cxl_region *cxlr, resource_size_t size) res = alloc_free_mem_region(cxlrd->res, size, SZ_256M, dev_name(&cxlr->dev)); if (IS_ERR(res)) { - dev_dbg(&cxlr->dev, "failed to allocate HPA: %ld\n", - PTR_ERR(res)); + dev_dbg(&cxlr->dev, + "HPA allocation error (%ld) for size:%#llx in %s %pr\n", + PTR_ERR(res), size, cxlrd->res->name, cxlrd->res); return PTR_ERR(res); }