Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752062AbbK1OuI (ORCPT ); Sat, 28 Nov 2015 09:50:08 -0500 Received: from atrey.karlin.mff.cuni.cz ([195.113.26.193]:39987 "EHLO atrey.karlin.mff.cuni.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750893AbbK1OuG (ORCPT ); Sat, 28 Nov 2015 09:50:06 -0500 Date: Sat, 28 Nov 2015 15:50:03 +0100 From: Pavel Machek To: Michal Hocko Cc: kernel list , jcliburn@gmail.com, chris.snook@gmail.com, netdev@vger.kernel.org, "Rafael J. Wysocki" , linux-mm@kvack.org, nic-devel@qualcomm.com, ronangeles@gmail.com, ebiederm@xmission.com Subject: Re: 4.3+: Atheros ethernet fails after resume from s2ram, due to order 4 allocation Message-ID: <20151128145003.GA4135@amd> References: <20151126163413.GA3816@amd> <20151127082010.GA2500@dhcp22.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151127082010.GA2500@dhcp22.suse.cz> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1691 Lines: 39 Hi! > > /* > > * real ring DMA buffer > > * each ring/block may need up to 8 bytes for alignment, hence the > > * additional bytes tacked onto the end. > > */ > > ring_header->size = size = > > sizeof(struct atl1c_tpd_desc) * tpd_ring->count * 2 + > > sizeof(struct atl1c_rx_free_desc) * rx_desc_count + > > sizeof(struct atl1c_recv_ret_status) * rx_desc_count + > > 8 * 4; > > > > ring_header->desc = pci_alloc_consistent(pdev, ring_header->size, > > &ring_header->dma); > > Why is pci_alloc_consistent doing an unconditional GFP_ATOMIC > allocation? atl1_setup_ring_resources already does GFP_KERNEL > allocation in the same function so this should be sleepable > context. I think we should either add pci_alloc_consistent_gfp if > there are no explicit reasons to not do so or you can workaround There's existing interface "dma_alloc_coherent" which can be used. I did not yet try with __GFP_REPEAT, but GFP_KERNEL should already be big improvement. Let me send a patch.. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/