Re: [PATCH v6 14/19] swiotlb: print a warning when the swiotlb isfull

From: Stefano Stabellini
Date: Wed Oct 09 2013 - 13:32:15 EST


On Mon, 30 Sep 2013, Konrad Rzeszutek Wilk wrote:
> On Fri, Sep 27, 2013 at 05:10:02PM +0100, Stefano Stabellini wrote:
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> > ---
> > drivers/xen/swiotlb-xen.c | 1 +
> > lib/swiotlb.c | 1 +
> > 2 files changed, 2 insertions(+), 0 deletions(-)
> >
> > diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c
> > index 96ad316..790c2eb 100644
> > --- a/drivers/xen/swiotlb-xen.c
> > +++ b/drivers/xen/swiotlb-xen.c
> > @@ -674,6 +674,7 @@ xen_swiotlb_map_sg_attrs(struct device *hwdev, struct scatterlist *sgl,
> > sg->length,
> > dir);
> > if (map == SWIOTLB_MAP_ERROR) {
> > + pr_warn("swiotlb buffer is full\n");
>
> It would be beneficial to use dev_warn instead.

OK

> And perhaps even call debug_dma_dump_mappings to help in diagnosing
> a problem?

I don't think that would be very beneficial because this is an internal
swiotlb issue: we just run out of buffer space.


> > /* Don't panic here, we expect map_sg users
> > to do proper error handling. */
> > xen_swiotlb_unmap_sg_attrs(hwdev, sgl, i, dir,
> > diff --git a/lib/swiotlb.c b/lib/swiotlb.c
> > index eb45d17..f06da0d 100644
> > --- a/lib/swiotlb.c
> > +++ b/lib/swiotlb.c
> > @@ -502,6 +502,7 @@ phys_addr_t swiotlb_tbl_map_single(struct device *hwdev,
> >
> > not_found:
> > spin_unlock_irqrestore(&io_tlb_lock, flags);
> > + pr_warn("swiotlb buffer is full\n");
> > return SWIOTLB_MAP_ERROR;
> > found:
> > spin_unlock_irqrestore(&io_tlb_lock, flags);
> > --
> > 1.7.2.5
> >
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/