On Thu, Sep 01, 2016 at 09:56:42AM -0300, Mauricio Faria de Oliveira wrote:
> This patch introduces the 'iommu_alloc_quiet=driver_name' parameter
> to suppress the 'iommu_alloc failures' messages for that one driver.
> 
> This is an additional approach for this 'problem' of flooding logs,
> not as fine-grained and not enabled by default as DMA_ATTR_NO_WARN,
> but it has the advantage that it doesn't introduce any ABI changes.
> 
> That is important/requirement for the distribution kernels - where
> the DMA_ATTR_NO_WARN changes to 'enum dma_attr' are not acceptable
> because it breaks the kernel ABI.
> 
[...]
> @@ -479,8 +496,8 @@ int ppc_iommu_map_sg(struct device *dev, struct 
> iommu_table *tbl,
>  
>               /* Handle failure */
>               if (unlikely(entry == DMA_ERROR_CODE)) {
> -                     if (!(attrs & DMA_ATTR_NO_WARN) &&
> -                         printk_ratelimit())
> +                     if (strncmp(iommu_alloc_quiet, dev->driver->name, 
> IOMMU_ALLOC_QUIET_LEN) &&
> +                         !(attrs & DMA_ATTR_NO_WARN) && printk_ratelimit())
>                               dev_info(dev, "iommu_alloc failed, tbl %p "
>                                        "vaddr %lx npages %lu\n", tbl, vaddr,
>                                        npages);
> @@ -777,8 +794,8 @@ dma_addr_t iommu_map_page(struct device *dev, struct 
> iommu_table *tbl,
>                                        mask >> tbl->it_page_shift, align,
>                                        attrs);
>               if (dma_handle == DMA_ERROR_CODE) {
> -                     if (!(attrs & DMA_ATTR_NO_WARN) &&
> -                         printk_ratelimit())  {
> +                     if (strncmp(iommu_alloc_quiet, dev->driver->name, 
> IOMMU_ALLOC_QUIET_LEN) &&
> +                         !(attrs & DMA_ATTR_NO_WARN) && printk_ratelimit()) {
>                               dev_info(dev, "iommu_alloc failed, tbl %p "
>                                        "vaddr %p npages %d\n", tbl, vaddr,
>                                        npages);

JFYI, my strongly preferred solution would still be to just dev_dbg() the whole 
thing.
Which group of people would be interested in these messages, after all?

        Torsten

Reply via email to