swiotlb: Don't DoS us with 'swiotlb buffer is full' (v2)
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Mon, 16 Dec 2013 19:05:01 +0000 (14:05 -0500)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tue, 7 Jan 2014 15:15:21 +0000 (10:15 -0500)
There is no need for that so lets use ratelimiting.
Also add some extra information to be helpful.

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
[v2: s/ld/zs on the printk]
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
lib/swiotlb.c

index e4399fa..4634ac9 100644 (file)
@@ -505,7 +505,8 @@ phys_addr_t swiotlb_tbl_map_single(struct device *hwdev,
 
 not_found:
        spin_unlock_irqrestore(&io_tlb_lock, flags);
-       dev_warn(hwdev, "swiotlb buffer is full\n");
+       if (printk_ratelimit())
+               dev_warn(hwdev, "swiotlb buffer is full (sz: %zd bytes)\n", size);
        return SWIOTLB_MAP_ERROR;
 found:
        spin_unlock_irqrestore(&io_tlb_lock, flags);