Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759523Ab3GaK3u (ORCPT ); Wed, 31 Jul 2013 06:29:50 -0400 Received: from mail-vb0-f51.google.com ([209.85.212.51]:59288 "EHLO mail-vb0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753966Ab3GaK3s (ORCPT ); Wed, 31 Jul 2013 06:29:48 -0400 MIME-Version: 1.0 In-Reply-To: <20130730.114900.5636932806999400.davem@davemloft.net> References: <20130730140059.GE27962@kroah.com> <20130730.113329.1450325193505423812.davem@davemloft.net> <1375209677.2075.129.camel@joe-AO722> <20130730.114900.5636932806999400.davem@davemloft.net> Date: Wed, 31 Jul 2013 18:29:47 +0800 Message-ID: Subject: Re: [PATCH v3 1/3] net/usb/r815x: replace USB buffer from stack to DMA-able From: Ming Lei To: David Miller Cc: joe@perches.com, gregkh@linuxfoundation.org, hayeswang@realtek.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, nic_swsd@realtek.com Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1633 Lines: 44 On Wed, Jul 31, 2013 at 2:49 AM, David Miller wrote: > From: Joe Perches > Date: Tue, 30 Jul 2013 11:41:17 -0700 > >> On Tue, 2013-07-30 at 11:33 -0700, David Miller wrote: >>> From: Greg KH >>> Date: Tue, 30 Jul 2013 07:00:59 -0700 >>> >>> > This call is so slow, you can afford to make a call to kmalloc for the >>> > data, as it sure just did for other structures it needed :) >>> >>> I told him to implement things this way, to avoid calling kmalloc every >>> single register access. >>> >>> Using kmalloc all the time makes the access fragile, since a badly timed >>> call during high memory pressure can fail. >>> >>> I'd rather the potential failure happen at one time, probe time. >>> >>> In any event, Ming Lei has suggested using usbnet_{read,write}_cmd() >>> instead, which sounds like a good solution to this problem. >> >> Those do per-call allocs too. > > Sigh... Ok I won't fight this any longer then :-) It might not be a big deal because most of these commands are sent during probe()/ethtool/... context, and not in tx/rx path. Another choice is to reserve a big enough buffer during probe() for read/write command, but one mutex is needed too for avoiding concurrent calling. Anyway, please call the command API to do such thing, so that we can improve it easily in future. Thanks, -- Ming Lei -- 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/