lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <53ECE709.5030008@chelsio.com> Date: Thu, 14 Aug 2014 09:42:49 -0700 From: Casey Leedom <leedom@...lsio.com> To: Anish Bhatt <anish@...lsio.com>, "Luis R. Rodriguez" <mcgrof@...not-panic.com>, "gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org> CC: "tiwai@...e.de" <tiwai@...e.de>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, "Luis R. Rodriguez" <mcgrof@...e.com>, Tetsuo Handa <penguin-kernel@...ove.SAKURA.ne.jp>, Joseph Salisbury <joseph.salisbury@...onical.com>, One Thousand Gnomes <gnomes@...rguk.ukuu.org.uk>, Tim Gardner <tim.gardner@...onical.com>, Pierre Fersing <pierre-fersing@...rref.org>, Andrew Morton <akpm@...ux-foundation.org>, Oleg Nesterov <oleg@...hat.com>, Benjamin Poirier <bpoirier@...e.de>, Nagalakshmi Nandigama <nagalakshmi.nandigama@...gotech.com>, Praveen Krishnamoorthy <praveen.krishnamoorthy@...gotech.com>, Sreekanth Reddy <sreekanth.reddy@...gotech.com>, Abhijit Mahajan <abhijit.mahajan@...gotech.com>, Hariprasad S <hariprasad@...lsio.com>, Santosh Rastapur <santosh@...lsio.com>, "MPT-FusionLinux.pdl@...gotech.com" <MPT-FusionLinux.pdl@...gotech.com>, "linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>, "netdev@...r.kernel.org" <netdev@...r.kernel.org> Subject: Re: [PATCH v3 2/3] cxgb4: use module_long_probe_init() On 08/13/2014 04:33 PM, Anish Bhatt wrote: > Adding Casey who's actually incharge of this code and missing from the CC list Thanks Anish! As I mentioned to Anish, there are fundamentally two problems here in the time being consumed by the cxgb4 PCI probe() function: 1. When various firmware files aren't present, request_firmware() can take a very long time. This is easily solved by using request_firmware_direct() and I certainly have no objection to that. 2. When there are multiple adapters present in a system which need firmware downloaded, each one individually may not take a ton of time but together they can exceed simple Module Load Timeouts. There's not a simple answer here. Part of the problem here is that it's a Module Load Timeout instead of a per-device Probe Timeout. Part of the problem is that the current architecture has Device Probe happening out of the Module Initialization when we call pci_register_driver() with our PCI Device ID Table. Running the Device Probes asynchronously has been discussed but that has the problem that it's then impossible to return the Device Probe Status. This is a problem for Driver Fallback and, if the probe fails, we're not supposed to call the Device Remove function. To make this work, the synchronous/asynchronous boundary would really need to be up in the PCI Infrastructure layer so the Device Probe status could be captured in the normal logic. This would be a moderately large change there ... Deferring the Device Initialization till the first "ifup" has also been discussed and is certainly possible, though a moderately large architectural change to every driver which needs it. It also has the unfortunate effect of introducing random large delays directly on user commands. From a User Experience perspective I would tend to want such large delays in the Device Probe. But that's something that really deserves a real User Interaction study rather than throwing a dart. On the whole, I think that introducing these Module Load Timeouts hasn't been well thought out with respect to the repercussions and I'd be more inclined to back that out till a well thought out design is developed. But I'm here for the discussion. Casey -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists