From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTP id 99AF2A05 for ; Mon, 16 Jun 2014 14:28:17 +0000 (UTC) Received: from qmta06.emeryville.ca.mail.comcast.net (qmta06.emeryville.ca.mail.comcast.net [76.96.30.56]) by smtp1.linuxfoundation.org (Postfix) with ESMTP id 4182620241 for ; Mon, 16 Jun 2014 14:28:17 +0000 (UTC) Date: Mon, 16 Jun 2014 09:28:13 -0500 (CDT) From: Christoph Lameter To: Thomas Petazzoni In-Reply-To: <20140616160951.10c455dc@free-electrons.com> Message-ID: References: <20140611194504.GA2683@kroah.com> <20140613173041.GA19513@kroah.com> <1402682146.2224.44.camel@dabdike.int.hansenpartnership.com> <20140616133932.7f8e6bbe@free-electrons.com> <20140616160951.10c455dc@free-electrons.com> Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: James Bottomley , ksummit-discuss@lists.linuxfoundation.org Subject: Re: [Ksummit-discuss] [CORE TOPIC] Redesign Memory Management layer and more core subsystem List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Mon, 16 Jun 2014, Thomas Petazzoni wrote: > Well, my understanding is that libdrm exposes on API, but internally > has support for various graphics hardware. Same for OpenGL: a unified > normalized API that applications can rely on, and pure user-space > implementations that know about the hardware details. Ok then we would need to come up with an API for NICs and storage that allows user space to determine the hardware and use the correct logic. The same approach is used in the Infiniband subsystem. However this means that device driver like code is distributed separately from the kernel. There are separate ibverbs, ibrdma etc trees and its an issue to keep the in kernel portions in sync with the userspace code. Ideally these would go together and be modified by patches that change both the kernel portion and the userspace portion. So maybe add a directory for userspace driver code to the kernel?