Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752159AbdI0Hpz (ORCPT ); Wed, 27 Sep 2017 03:45:55 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:47062 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751983AbdI0Hpy (ORCPT ); Wed, 27 Sep 2017 03:45:54 -0400 Date: Wed, 27 Sep 2017 09:45:51 +0200 From: Greg Kroah-Hartman To: Federico Vaga Cc: Tejun Heo , linux-kernel@vger.kernel.org Subject: Re: kernFS/sysfs: mmap and vm_operations close Message-ID: <20170927074551.GA13742@kroah.com> References: <1630389.Mmh9faUyQX@number-5> <20170926213129.GA3418@kroah.com> <45653851.o6CCxcICBK@number-5> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <45653851.o6CCxcICBK@number-5> User-Agent: Mutt/1.9.1 (2017-09-22) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2117 Lines: 49 On Wed, Sep 27, 2017 at 08:41:12AM +0200, Federico Vaga wrote: > On Tuesday, 26 September 2017 23:31:29 CEST Greg Kroah-Hartman wrote: > > On Tue, Sep 26, 2017 at 05:50:55PM +0200, Federico Vaga wrote: > > > Hello, > > > > > > I'm writing a sysfs binary attribute that makes use of the `mmap` > > > operation. > > Eeek, why? What are you using that for? > > I have a bus (VME) and we are not using the the VME subsystem provided by the > kernel (why? Historical reasons, we had our own implementation before the > kernel one appeared and we cannot port hundreds of drivers so easily in our > environment). As the vme subsystem has been in the kernel for a long time (8 years?), I don't have much sympathy for this, sorry :) > I want to make our VME interface "as PCI as possible", so I want to re-create > resources that users can `mmap` to access the device memory. Have you looked at the UIO interface? > This abstraction will allow us to write utilities that works on PCI and VME > devices without dealing with the peculiarity of each interface. This is > particularly useful when you have FPGAs that can run the "same" code on > different buses, but it is true as well when you have the same hardware (the > same memory map) installed on VME cards or PCI cards. > > That's why a sysfs VME resource seems to me the easiest and clean way to > achieve this. I do not want to create yet another layer that hides the > differences between the two buses when mmap is so straight forward and easy to > implement. Another point is that adding a new layer add complexity in the > architecture and for the developers; they have to learn yet another non- > standard interface that I invent, while the concept of resource is something > that everybody know. Or if you use the VME kernel interface, everything will "just work"... > > sysfs binary attributes are for dumping binary data that the kernel > > doesn't touch/parse, through to hardware. Why use mmap for this? Do > > you have a pointer to your code somewhere? > > No pointer :S Sorry, I can't help out much then. Best of luck! greg k-h