Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752056AbbKPTAY (ORCPT ); Mon, 16 Nov 2015 14:00:24 -0500 Received: from mail-wm0-f53.google.com ([74.125.82.53]:34256 "EHLO mail-wm0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751512AbbKPTAX (ORCPT ); Mon, 16 Nov 2015 14:00:23 -0500 MIME-Version: 1.0 In-Reply-To: References: Date: Mon, 16 Nov 2015 11:00:20 -0800 Message-ID: Subject: Re: [PATCH v2 0/3] nvdimm: Add an IOCTL pass thru for DSM calls From: Dan Williams To: Jerry Hoemann Cc: Ross Zwisler , "Rafael J. Wysocki" , Len Brown , "Elliott, Robert (Persistent Memory)" , jmoyer , Dmitry Krivenok , Linda Knippers , "linux-nvdimm@lists.01.org" , Linux ACPI , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1968 Lines: 44 On Mon, Nov 16, 2015 at 10:38 AM, Jerry Hoemann wrote: > > The NVDIMM code in the kernel supports an IOCTL interface to user > space based upon the Intel Example DSM: > > http://pmem.io/documents/NVDIMM_DSM_Interface_Example.pdf > > This interface cannot be used by other NVDIMM DSMs that support > incompatible functions. > > This patch set adds a generic "passthru" IOCTL interface which > is not tied to a particular DSM. > > A new _IOC_NR ND_CMD_PASSTHRU == "100" is added for the pass thru call. > > The new data structure nd_passthru_pkg serves as a wrapper for the passthru > calls. This wrapper supplies the data that the kernel needs to > make the _DSM call. > > Unlike the definitions of the _DSM functions themselves, the nd_passthru_pkg > provides the calling information (input/output sizes) in an uniform > manner making the kernel marshaling of the arguments straight > forward. > > This shifts the marshaling burden from the kernel to the user > space application while still permitting the kernel to internally > call _DSM functions. > > To make the resultant kernel code easier to understand the existing > functions acpi_nfit_ctl and __nd_ioctl were renamed to .*_intel to > denote calling mechanism as in 4.3 tailored to the Intel Example DSM. > New functions acpi_nfit_ctl_passthru and __nd_ioctl_passthru were > created to supply the pass thru interface. Let's not do the _intel vs _passthru split. I want to convert the existing commands over to this new interface and deprecate the old ioctl-command formats. I.e. it isn't the case that this will be a always be a blind "passthru" mechanism, the kernel will need to crack open this payload in some circumstances. -- 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/