[PATCH] powerpc: add kernel parameter iommu_alloc_quiet

Torsten Duwe duwe at lst.de
Thu Sep 1 23:39:37 AEST 2016


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



More information about the Linuxppc-dev mailing list