From mboxrd@z Thu Jan 1 00:00:00 1970 From: Milosz Tanski Subject: [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Thu, 15 Jan 2015 12:43:23 -0500 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: "linux-fsdevel@vger.kernel.org" , linux-mm@kvack.org, Christoph Hellwig To: lsf-pc@lists.linux-foundation.org Return-path: Sender: owner-linux-mm@kvack.org List-Id: linux-fsdevel.vger.kernel.org I would like to talk about enhancing the user interfaces for doing async buffered disk IO for userspace applications. There's a whole class of distributed web applications (most new applications today) that would benefit from such an API. Most of them today rely on cobbling one together in user space using a threadpool. The current in kernel AIO interfaces that only support DIRECTIO, they were generally designed by and for big database vendors. The consensus is that the current AIO interfaces usually lead to decreased performance for those app. I've been developing a new read syscall that allows non-blocking diskio read (provided that data is in the page cache). It's analogous to what exists today in the network world with recvmsg with MSG_NOWAIT flag. The work has been previously described by LWN here: https://lwn.net/Articles/612483/ Previous attempts (over the last 12+ years) at non-blocking buffered diskio has stalled due to their complexity. I would like to talk about the problem, my solution, and get feedback on the course of action. Over the years I've been building the low level guys of various "web applications". That usually involves async network based applications (epoll based servers) and the biggest pain point for the last 8+ years has been async disk IO. -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: milosz@adfin.com -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeff Moyer Subject: Re: [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Thu, 15 Jan 2015 13:30:05 -0500 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain Cc: lsf-pc@lists.linux-foundation.org, "linux-fsdevel\@vger.kernel.org" , linux-mm@kvack.org, Christoph Hellwig To: Milosz Tanski Return-path: In-Reply-To: (Milosz Tanski's message of "Thu, 15 Jan 2015 12:43:23 -0500") Sender: owner-linux-mm@kvack.org List-Id: linux-fsdevel.vger.kernel.org Milosz Tanski writes: > I would like to talk about enhancing the user interfaces for doing > async buffered disk IO for userspace applications. There's a whole > class of distributed web applications (most new applications today) > that would benefit from such an API. Most of them today rely on > cobbling one together in user space using a threadpool. > > The current in kernel AIO interfaces that only support DIRECTIO, they > were generally designed by and for big database vendors. The consensus > is that the current AIO interfaces usually lead to decreased > performance for those app. > > I've been developing a new read syscall that allows non-blocking > diskio read (provided that data is in the page cache). It's analogous > to what exists today in the network world with recvmsg with MSG_NOWAIT > flag. The work has been previously described by LWN here: > https://lwn.net/Articles/612483/ > > Previous attempts (over the last 12+ years) at non-blocking buffered > diskio has stalled due to their complexity. I would like to talk about > the problem, my solution, and get feedback on the course of action. This email seems to conflate async I/O and non-blocking I/O. Could you please be more specific about what you're proposing to talk about? Is it just the non-blocking read support? Cheers, Jeff -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kara Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Thu, 15 Jan 2015 23:31:57 +0100 Message-ID: <20150115223157.GB25884@quack.suse.cz> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: lsf-pc@lists.linux-foundation.org, "linux-fsdevel@vger.kernel.org" , linux-mm@kvack.org, Christoph Hellwig To: Milosz Tanski Return-path: Content-Disposition: inline In-Reply-To: Sender: owner-linux-mm@kvack.org List-Id: linux-fsdevel.vger.kernel.org On Thu 15-01-15 12:43:23, Milosz Tanski wrote: > I would like to talk about enhancing the user interfaces for doing > async buffered disk IO for userspace applications. There's a whole > class of distributed web applications (most new applications today) > that would benefit from such an API. Most of them today rely on > cobbling one together in user space using a threadpool. > > The current in kernel AIO interfaces that only support DIRECTIO, they > were generally designed by and for big database vendors. The consensus > is that the current AIO interfaces usually lead to decreased > performance for those app. > > I've been developing a new read syscall that allows non-blocking > diskio read (provided that data is in the page cache). It's analogous > to what exists today in the network world with recvmsg with MSG_NOWAIT > flag. The work has been previously described by LWN here: > https://lwn.net/Articles/612483/ > > Previous attempts (over the last 12+ years) at non-blocking buffered > diskio has stalled due to their complexity. I would like to talk about > the problem, my solution, and get feedback on the course of action. > > Over the years I've been building the low level guys of various "web > applications". That usually involves async network based applications > (epoll based servers) and the biggest pain point for the last 8+ years > has been async disk IO. Maybe this topic will be sorted out before LSF/MM. I know Andrew had some objections about doc and was suggesting a solution using fincore() (which Christoph refuted as being racy). Also there was a pending question regarding whether the async read in this form will be used by applications. But if it doesn't get sorted out a short session on the pending issues would be probably useful. Honza -- Jan Kara SUSE Labs, CR -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: Milosz Tanski Subject: Re: [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Fri, 16 Jan 2015 10:40:23 -0500 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: lsf-pc@lists.linux-foundation.org, "linux-fsdevel@vger.kernel.org" , linux-mm@kvack.org, Christoph Hellwig To: Jeff Moyer Return-path: In-Reply-To: Sender: owner-linux-mm@kvack.org List-Id: linux-fsdevel.vger.kernel.org On Thu, Jan 15, 2015 at 1:30 PM, Jeff Moyer wrote: > Milosz Tanski writes: > >> I would like to talk about enhancing the user interfaces for doing >> async buffered disk IO for userspace applications. There's a whole >> class of distributed web applications (most new applications today) >> that would benefit from such an API. Most of them today rely on >> cobbling one together in user space using a threadpool. >> >> The current in kernel AIO interfaces that only support DIRECTIO, they >> were generally designed by and for big database vendors. The consensus >> is that the current AIO interfaces usually lead to decreased >> performance for those app. >> >> I've been developing a new read syscall that allows non-blocking >> diskio read (provided that data is in the page cache). It's analogous >> to what exists today in the network world with recvmsg with MSG_NOWAIT >> flag. The work has been previously described by LWN here: >> https://lwn.net/Articles/612483/ >> >> Previous attempts (over the last 12+ years) at non-blocking buffered >> diskio has stalled due to their complexity. I would like to talk about >> the problem, my solution, and get feedback on the course of action. > > This email seems to conflate async I/O and non-blocking I/O. Could you > please be more specific about what you're proposing to talk about? Is > it just the non-blocking read support? > > Cheers, > Jeff Jeff, I'm sorry if I wasn't clear, let me restate why we should care and why it matters. The current applications that power the lower levels of the web stacks as generally process streams of network data. Many of them (and the frameworks for building them) are structured as a large async processing loop. Disk IO a big pain point; the way are structured (threadpools for diskio) introduces additional latency. sendfile() is only helpful if you need to do additional processing (say SSL). Non-blocking diskio can help us lower the response latency in those webapps applications in the common cases (cached data, sequential scan). -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: milosz@adfin.com -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: Milosz Tanski Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Fri, 16 Jan 2015 10:44:12 -0500 Message-ID: References: <20150115223157.GB25884@quack.suse.cz> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: lsf-pc@lists.linux-foundation.org, "linux-fsdevel@vger.kernel.org" , linux-mm@kvack.org, Christoph Hellwig To: Jan Kara Return-path: In-Reply-To: <20150115223157.GB25884@quack.suse.cz> Sender: owner-linux-mm@kvack.org List-Id: linux-fsdevel.vger.kernel.org On Thu, Jan 15, 2015 at 5:31 PM, Jan Kara wrote: > On Thu 15-01-15 12:43:23, Milosz Tanski wrote: >> I would like to talk about enhancing the user interfaces for doing >> async buffered disk IO for userspace applications. There's a whole >> class of distributed web applications (most new applications today) >> that would benefit from such an API. Most of them today rely on >> cobbling one together in user space using a threadpool. >> >> The current in kernel AIO interfaces that only support DIRECTIO, they >> were generally designed by and for big database vendors. The consensus >> is that the current AIO interfaces usually lead to decreased >> performance for those app. >> >> I've been developing a new read syscall that allows non-blocking >> diskio read (provided that data is in the page cache). It's analogous >> to what exists today in the network world with recvmsg with MSG_NOWAIT >> flag. The work has been previously described by LWN here: >> https://lwn.net/Articles/612483/ >> >> Previous attempts (over the last 12+ years) at non-blocking buffered >> diskio has stalled due to their complexity. I would like to talk about >> the problem, my solution, and get feedback on the course of action. >> >> Over the years I've been building the low level guys of various "web >> applications". That usually involves async network based applications >> (epoll based servers) and the biggest pain point for the last 8+ years >> has been async disk IO. > Maybe this topic will be sorted out before LSF/MM. I know Andrew had some > objections about doc and was suggesting a solution using fincore() (which > Christoph refuted as being racy). Also there was a pending question > regarding whether the async read in this form will be used by applications. > But if it doesn't get sorted out a short session on the pending issues > would be probably useful. > > Honza > -- > Jan Kara > SUSE Labs, CR I've spent the better part of yesterday wrapping up the first cut of samba support to FIO so we can test a modified samba file server with these changes in a few scenarios. Right now it's only sync but I hope to have async in the future. I hope that by the time the summit rolls around I'll have data to share from samba and maybe some other common apps (node.js / twisted). -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: milosz@adfin.com -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Allison Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Fri, 16 Jan 2015 08:55:06 -0800 Message-ID: <20150116165506.GA10856@samba2> References: <20150115223157.GB25884@quack.suse.cz> Reply-To: Jeremy Allison Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Jan Kara , lsf-pc@lists.linux-foundation.org, "linux-fsdevel@vger.kernel.org" , linux-mm@kvack.org, Christoph Hellwig To: Milosz Tanski Return-path: Received: from fn.samba.org ([216.83.154.106]:49916 "EHLO mail.samba.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753014AbbAPQzJ (ORCPT ); Fri, 16 Jan 2015 11:55:09 -0500 Content-Disposition: inline In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Fri, Jan 16, 2015 at 10:44:12AM -0500, Milosz Tanski wrote: > On Thu, Jan 15, 2015 at 5:31 PM, Jan Kara wrote: > > On Thu 15-01-15 12:43:23, Milosz Tanski wrote: > >> I would like to talk about enhancing the user interfaces for doing > >> async buffered disk IO for userspace applications. There's a whole > >> class of distributed web applications (most new applications today) > >> that would benefit from such an API. Most of them today rely on > >> cobbling one together in user space using a threadpool. > >> > >> The current in kernel AIO interfaces that only support DIRECTIO, they > >> were generally designed by and for big database vendors. The consensus > >> is that the current AIO interfaces usually lead to decreased > >> performance for those app. > >> > >> I've been developing a new read syscall that allows non-blocking > >> diskio read (provided that data is in the page cache). It's analogous > >> to what exists today in the network world with recvmsg with MSG_NOWAIT > >> flag. The work has been previously described by LWN here: > >> https://lwn.net/Articles/612483/ > >> > >> Previous attempts (over the last 12+ years) at non-blocking buffered > >> diskio has stalled due to their complexity. I would like to talk about > >> the problem, my solution, and get feedback on the course of action. > >> > >> Over the years I've been building the low level guys of various "web > >> applications". That usually involves async network based applications > >> (epoll based servers) and the biggest pain point for the last 8+ years > >> has been async disk IO. > > Maybe this topic will be sorted out before LSF/MM. I know Andrew had some > > objections about doc and was suggesting a solution using fincore() (which > > Christoph refuted as being racy). Also there was a pending question > > regarding whether the async read in this form will be used by applications. > > But if it doesn't get sorted out a short session on the pending issues > > would be probably useful. > > > > Honza > > -- > > Jan Kara > > SUSE Labs, CR > > I've spent the better part of yesterday wrapping up the first cut of > samba support to FIO so we can test a modified samba file server with > these changes in a few scenarios. Right now it's only sync but I hope > to have async in the future. I hope that by the time the summit rolls > around I'll have data to share from samba and maybe some other common > apps (node.js / twisted). Don't forget to share the code changes :-). We @ Samba would love to see them to keep track ! From mboxrd@z Thu Jan 1 00:00:00 1970 From: Milosz Tanski Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Sun, 18 Jan 2015 22:49:36 -0500 Message-ID: References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: Jan Kara , lsf-pc@lists.linux-foundation.org, "linux-fsdevel@vger.kernel.org" , linux-mm@kvack.org, Christoph Hellwig , Volker Lendecke , Jens Axboe To: Jeremy Allison Return-path: In-Reply-To: <20150116165506.GA10856@samba2> Sender: owner-linux-mm@kvack.org List-Id: linux-fsdevel.vger.kernel.org On Fri, Jan 16, 2015 at 11:55 AM, Jeremy Allison wrote: > On Fri, Jan 16, 2015 at 10:44:12AM -0500, Milosz Tanski wrote: >> On Thu, Jan 15, 2015 at 5:31 PM, Jan Kara wrote: >> > On Thu 15-01-15 12:43:23, Milosz Tanski wrote: >> >> I would like to talk about enhancing the user interfaces for doing >> >> async buffered disk IO for userspace applications. There's a whole >> >> class of distributed web applications (most new applications today) >> >> that would benefit from such an API. Most of them today rely on >> >> cobbling one together in user space using a threadpool. >> >> >> >> The current in kernel AIO interfaces that only support DIRECTIO, they >> >> were generally designed by and for big database vendors. The consensus >> >> is that the current AIO interfaces usually lead to decreased >> >> performance for those app. >> >> >> >> I've been developing a new read syscall that allows non-blocking >> >> diskio read (provided that data is in the page cache). It's analogous >> >> to what exists today in the network world with recvmsg with MSG_NOWAIT >> >> flag. The work has been previously described by LWN here: >> >> https://lwn.net/Articles/612483/ >> >> >> >> Previous attempts (over the last 12+ years) at non-blocking buffered >> >> diskio has stalled due to their complexity. I would like to talk about >> >> the problem, my solution, and get feedback on the course of action. >> >> >> >> Over the years I've been building the low level guys of various "web >> >> applications". That usually involves async network based applications >> >> (epoll based servers) and the biggest pain point for the last 8+ years >> >> has been async disk IO. >> > Maybe this topic will be sorted out before LSF/MM. I know Andrew had some >> > objections about doc and was suggesting a solution using fincore() (which >> > Christoph refuted as being racy). Also there was a pending question >> > regarding whether the async read in this form will be used by applications. >> > But if it doesn't get sorted out a short session on the pending issues >> > would be probably useful. >> > >> > Honza >> > -- >> > Jan Kara >> > SUSE Labs, CR >> >> I've spent the better part of yesterday wrapping up the first cut of >> samba support to FIO so we can test a modified samba file server with >> these changes in a few scenarios. Right now it's only sync but I hope >> to have async in the future. I hope that by the time the summit rolls >> around I'll have data to share from samba and maybe some other common >> apps (node.js / twisted). > > Don't forget to share the code changes :-). We @ Samba would > love to see them to keep track ! I have the first version of the FIO cifs support via samba in my fork of FIO here: https://github.com/mtanski/fio/tree/samba Right now it only supports sync mode of FIO (eg. can't submit multiple outstanding requests) but I'm looking into how to make it work with smb2 read/write calls with the async flag. Additionally, I'm sure I'm doing some things not quite right in terms of smbcli usage as it was a decent amount of trial and error to get it to connect (esp. the setup before smbcli_full_connection). Finally, it looks like the more complex api I'm using (as opposed to smbclient, because I want the async calls) doesn't quite fully export all calls I need via headers / public dyn libs so it's a bit of a hack to get it to build: https://github.com/mtanski/fio/commit/7fd35359259b409ed023b924cb2758e9efb9950c#diff-1 But it works for my randread tests with zipf and the great part is that it should provide a flexible way to test samba with many fake clients and access patterns. So... progress. -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: milosz@adfin.com -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Allison Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Sun, 18 Jan 2015 23:12:18 -0800 Message-ID: <20150119071218.GA9747@jeremy-HP> References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> Reply-To: Jeremy Allison Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Jeremy Allison , Jan Kara , lsf-pc@lists.linux-foundation.org, "linux-fsdevel@vger.kernel.org" , linux-mm@kvack.org, Christoph Hellwig , Volker Lendecke , Jens Axboe To: Milosz Tanski Return-path: Received: from fn.samba.org ([216.83.154.106]:33122 "EHLO mail.samba.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750968AbbASHMQ (ORCPT ); Mon, 19 Jan 2015 02:12:16 -0500 Content-Disposition: inline In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Sun, Jan 18, 2015 at 10:49:36PM -0500, Milosz Tanski wrote: > > I have the first version of the FIO cifs support via samba in my fork > of FIO here: https://github.com/mtanski/fio/tree/samba > > Right now it only supports sync mode of FIO (eg. can't submit multiple > outstanding requests) but I'm looking into how to make it work with > smb2 read/write calls with the async flag. > > Additionally, I'm sure I'm doing some things not quite right in terms > of smbcli usage as it was a decent amount of trial and error to get it > to connect (esp. the setup before smbcli_full_connection). Finally, it > looks like the more complex api I'm using (as opposed to smbclient, > because I want the async calls) doesn't quite fully export all calls I > need via headers / public dyn libs so it's a bit of a hack to get it > to build: https://github.com/mtanski/fio/commit/7fd35359259b409ed023b924cb2758e9efb9950c#diff-1 > > But it works for my randread tests with zipf and the great part is > that it should provide a flexible way to test samba with many fake > clients and access patterns. So... progress. One problem here. Looks like fio is under GPLv2-only, is that correct ? If so there's no way to combine the two codebases, as Samba is under GPLv3-or-later with parts under LGPLv3-or-later. fio needs to be GPLv2-or-later in order to be able to use with libsmbclient. Cheers, Jeremy. From mboxrd@z Thu Jan 1 00:00:00 1970 From: James Bottomley Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Sun, 18 Jan 2015 23:34:09 -0800 Message-ID: <1421652849.2080.20.camel@HansenPartnership.com> References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Cc: Milosz Tanski , Jens Axboe , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: Jeremy Allison Return-path: In-Reply-To: <20150119071218.GA9747@jeremy-HP> Sender: owner-linux-mm@kvack.org List-Id: linux-fsdevel.vger.kernel.org On Sun, 2015-01-18 at 23:12 -0800, Jeremy Allison wrote: > On Sun, Jan 18, 2015 at 10:49:36PM -0500, Milosz Tanski wrote: > > > > I have the first version of the FIO cifs support via samba in my fork > > of FIO here: https://github.com/mtanski/fio/tree/samba > > > > Right now it only supports sync mode of FIO (eg. can't submit multiple > > outstanding requests) but I'm looking into how to make it work with > > smb2 read/write calls with the async flag. > > > > Additionally, I'm sure I'm doing some things not quite right in terms > > of smbcli usage as it was a decent amount of trial and error to get it > > to connect (esp. the setup before smbcli_full_connection). Finally, it > > looks like the more complex api I'm using (as opposed to smbclient, > > because I want the async calls) doesn't quite fully export all calls I > > need via headers / public dyn libs so it's a bit of a hack to get it > > to build: https://github.com/mtanski/fio/commit/7fd35359259b409ed023b924cb2758e9efb9950c#diff-1 > > > > But it works for my randread tests with zipf and the great part is > > that it should provide a flexible way to test samba with many fake > > clients and access patterns. So... progress. > > One problem here. Looks like fio is under GPLv2-only, > is that correct ? Seems so from the LICENSE file. > If so there's no way to combine the two codebases, > as Samba is under GPLv3-or-later with parts under LGPLv3-or-later. > > fio needs to be GPLv2-or-later in order to be > able to use with libsmbclient. That's one of these pointless licensing complexities that annoy distributions so much ... they're both open source, so there's no real problem except the licence incompatibility. The usual way out of it is just to dual licence the incompatible component. James -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: Milosz Tanski Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Mon, 19 Jan 2015 09:18:49 -0500 Message-ID: References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: Jeremy Allison , Jens Axboe , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: James Bottomley Return-path: In-Reply-To: <1421652849.2080.20.camel@HansenPartnership.com> Sender: owner-linux-mm@kvack.org List-Id: linux-fsdevel.vger.kernel.org On Mon, Jan 19, 2015 at 2:34 AM, James Bottomley wrote: > On Sun, 2015-01-18 at 23:12 -0800, Jeremy Allison wrote: >> On Sun, Jan 18, 2015 at 10:49:36PM -0500, Milosz Tanski wrote: >> > >> > I have the first version of the FIO cifs support via samba in my fork >> > of FIO here: https://github.com/mtanski/fio/tree/samba >> > >> > Right now it only supports sync mode of FIO (eg. can't submit multiple >> > outstanding requests) but I'm looking into how to make it work with >> > smb2 read/write calls with the async flag. >> > >> > Additionally, I'm sure I'm doing some things not quite right in terms >> > of smbcli usage as it was a decent amount of trial and error to get it >> > to connect (esp. the setup before smbcli_full_connection). Finally, it >> > looks like the more complex api I'm using (as opposed to smbclient, >> > because I want the async calls) doesn't quite fully export all calls I >> > need via headers / public dyn libs so it's a bit of a hack to get it >> > to build: https://github.com/mtanski/fio/commit/7fd35359259b409ed023b924cb2758e9efb9950c#diff-1 >> > >> > But it works for my randread tests with zipf and the great part is >> > that it should provide a flexible way to test samba with many fake >> > clients and access patterns. So... progress. >> >> One problem here. Looks like fio is under GPLv2-only, >> is that correct ? > > Seems so from the LICENSE file. > >> If so there's no way to combine the two codebases, >> as Samba is under GPLv3-or-later with parts under LGPLv3-or-later. >> >> fio needs to be GPLv2-or-later in order to be >> able to use with libsmbclient. > > That's one of these pointless licensing complexities that annoy > distributions so much ... they're both open source, so there's no real > problem except the licence incompatibility. The usual way out of it is > just to dual licence the incompatible component. > > James > > Sadly, in this case there's nothing I can do about the license; both projects have a right to determine their own licensing. Hopefully, the parties can come to some kind of agreement since it would be beneficial to use fio to test samba. This works well enough for me to test test preadv2 using samba and get numbers. So I'll use this to do some preadv2 testing using samba for different workloads. -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: milosz@adfin.com -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Axboe Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Mon, 19 Jan 2015 08:31:27 -0700 Message-ID: <54BD234F.3060203@kernel.dk> References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Jeremy Allison , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: Milosz Tanski , James Bottomley Return-path: Received: from mail-pd0-f171.google.com ([209.85.192.171]:49282 "EHLO mail-pd0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751467AbbASPbk (ORCPT ); Mon, 19 Jan 2015 10:31:40 -0500 Received: by mail-pd0-f171.google.com with SMTP id fp1so15779982pdb.2 for ; Mon, 19 Jan 2015 07:31:40 -0800 (PST) In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On 01/19/2015 07:18 AM, Milosz Tanski wrote: > On Mon, Jan 19, 2015 at 2:34 AM, James Bottomley > wrote: >> On Sun, 2015-01-18 at 23:12 -0800, Jeremy Allison wrote: >>> On Sun, Jan 18, 2015 at 10:49:36PM -0500, Milosz Tanski wrote: >>>> >>>> I have the first version of the FIO cifs support via samba in my fork >>>> of FIO here: https://github.com/mtanski/fio/tree/samba >>>> >>>> Right now it only supports sync mode of FIO (eg. can't submit multiple >>>> outstanding requests) but I'm looking into how to make it work with >>>> smb2 read/write calls with the async flag. >>>> >>>> Additionally, I'm sure I'm doing some things not quite right in terms >>>> of smbcli usage as it was a decent amount of trial and error to get it >>>> to connect (esp. the setup before smbcli_full_connection). Finally, it >>>> looks like the more complex api I'm using (as opposed to smbclient, >>>> because I want the async calls) doesn't quite fully export all calls I >>>> need via headers / public dyn libs so it's a bit of a hack to get it >>>> to build: https://github.com/mtanski/fio/commit/7fd35359259b409ed023b924cb2758e9efb9950c#diff-1 >>>> >>>> But it works for my randread tests with zipf and the great part is >>>> that it should provide a flexible way to test samba with many fake >>>> clients and access patterns. So... progress. >>> >>> One problem here. Looks like fio is under GPLv2-only, >>> is that correct ? >> >> Seems so from the LICENSE file. >> >>> If so there's no way to combine the two codebases, >>> as Samba is under GPLv3-or-later with parts under LGPLv3-or-later. >>> >>> fio needs to be GPLv2-or-later in order to be >>> able to use with libsmbclient. >> >> That's one of these pointless licensing complexities that annoy >> distributions so much ... they're both open source, so there's no real >> problem except the licence incompatibility. The usual way out of it is >> just to dual licence the incompatible component. >> >> James >> >> > > Sadly, in this case there's nothing I can do about the license; both > projects have a right to determine their own licensing. Hopefully, the > parties can come to some kind of agreement since it would be > beneficial to use fio to test samba. > > This works well enough for me to test test preadv2 using samba and get > numbers. So I'll use this to do some preadv2 testing using samba for > different workloads. I didn't look at your code yet, but I'm assuming it's a self contained IO engine. So we should be able to make that work, by only linking the engine itself against libsmbclient. But sheesh, what a pain in the butt, why can't we just all be friends. So don't worry about licensing for now, just work on improving the engine and we'll sort the non-technical details out. -- Jens Axboe From mboxrd@z Thu Jan 1 00:00:00 1970 From: James Bottomley Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Mon, 19 Jan 2015 07:49:41 -0800 Message-ID: <1421682581.2080.22.camel@HansenPartnership.com> References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Cc: Milosz Tanski , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org, Jeremy Allison To: Jens Axboe Return-path: Received: from bedivere.hansenpartnership.com ([66.63.167.143]:51781 "EHLO bedivere.hansenpartnership.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751993AbbASPtn (ORCPT ); Mon, 19 Jan 2015 10:49:43 -0500 In-Reply-To: <54BD234F.3060203@kernel.dk> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Mon, 2015-01-19 at 08:31 -0700, Jens Axboe wrote: > On 01/19/2015 07:18 AM, Milosz Tanski wrote: > > On Mon, Jan 19, 2015 at 2:34 AM, James Bottomley > > wrote: > >> On Sun, 2015-01-18 at 23:12 -0800, Jeremy Allison wrote: > >>> On Sun, Jan 18, 2015 at 10:49:36PM -0500, Milosz Tanski wrote: > >>>> > >>>> I have the first version of the FIO cifs support via samba in my fork > >>>> of FIO here: https://github.com/mtanski/fio/tree/samba > >>>> > >>>> Right now it only supports sync mode of FIO (eg. can't submit multiple > >>>> outstanding requests) but I'm looking into how to make it work with > >>>> smb2 read/write calls with the async flag. > >>>> > >>>> Additionally, I'm sure I'm doing some things not quite right in terms > >>>> of smbcli usage as it was a decent amount of trial and error to get it > >>>> to connect (esp. the setup before smbcli_full_connection). Finally, it > >>>> looks like the more complex api I'm using (as opposed to smbclient, > >>>> because I want the async calls) doesn't quite fully export all calls I > >>>> need via headers / public dyn libs so it's a bit of a hack to get it > >>>> to build: https://github.com/mtanski/fio/commit/7fd35359259b409ed023b924cb2758e9efb9950c#diff-1 > >>>> > >>>> But it works for my randread tests with zipf and the great part is > >>>> that it should provide a flexible way to test samba with many fake > >>>> clients and access patterns. So... progress. > >>> > >>> One problem here. Looks like fio is under GPLv2-only, > >>> is that correct ? > >> > >> Seems so from the LICENSE file. > >> > >>> If so there's no way to combine the two codebases, > >>> as Samba is under GPLv3-or-later with parts under LGPLv3-or-later. > >>> > >>> fio needs to be GPLv2-or-later in order to be > >>> able to use with libsmbclient. > >> > >> That's one of these pointless licensing complexities that annoy > >> distributions so much ... they're both open source, so there's no real > >> problem except the licence incompatibility. The usual way out of it is > >> just to dual licence the incompatible component. > >> > >> James > >> > >> > > > > Sadly, in this case there's nothing I can do about the license; both > > projects have a right to determine their own licensing. Hopefully, the > > parties can come to some kind of agreement since it would be > > beneficial to use fio to test samba. > > > > This works well enough for me to test test preadv2 using samba and get > > numbers. So I'll use this to do some preadv2 testing using samba for > > different workloads. > > I didn't look at your code yet, but I'm assuming it's a self contained > IO engine. So we should be able to make that work, by only linking the > engine itself against libsmbclient. But sheesh, what a pain in the butt, > why can't we just all be friends. > > So don't worry about licensing for now, just work on improving the > engine and we'll sort the non-technical details out. For fio, it likely doesn't matter. Most people download the repository and compile it themselves when building the tool. In that case, there's no licence violation anyway (all GPL issues, including technical licence incompatibility, manifest on distribution not on use). It is a problem for the distributors, but they're well used to these type of self inflicted wounds. James From mboxrd@z Thu Jan 1 00:00:00 1970 From: Volker Lendecke Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Mon, 19 Jan 2015 17:10:03 +0100 Message-ID: References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> Reply-To: Volker.Lendecke@SerNet.DE Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Cc: Milosz Tanski , James Bottomley , Jeremy Allison , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: Jens Axboe Return-path: Content-Disposition: inline In-Reply-To: <54BD234F.3060203@kernel.dk> Sender: owner-linux-mm@kvack.org List-Id: linux-fsdevel.vger.kernel.org On Mon, Jan 19, 2015 at 08:31:27AM -0700, Jens Axboe wrote: > I didn't look at your code yet, but I'm assuming it's a self > contained IO engine. So we should be able to make that work, by only > linking the engine itself against libsmbclient. But sheesh, what a > pain in the butt, why can't we just all be friends. The published libsmbclient API misses the async features that are needed here. Milosz needs to go lower-level. Volker --=20 SerNet GmbH, Bahnhofsallee 1b, 37081 G=F6ttingen phone: +49-551-370000-0, fax: +49-551-370000-9 AG G=F6ttingen, HRB 2816, GF: Dr. Johannes Loxen http://www.sernet.de, mailto:kontakt@sernet.de -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: Milosz Tanski Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Mon, 19 Jan 2015 11:20:50 -0500 Message-ID: References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: Jens Axboe , James Bottomley , Jeremy Allison , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: Volker Lendecke Return-path: Received: from mail-lb0-f180.google.com ([209.85.217.180]:54334 "EHLO mail-lb0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751143AbbASQUx (ORCPT ); Mon, 19 Jan 2015 11:20:53 -0500 Received: by mail-lb0-f180.google.com with SMTP id b6so3527674lbj.11 for ; Mon, 19 Jan 2015 08:20:50 -0800 (PST) In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Mon, Jan 19, 2015 at 11:10 AM, Volker Lendecke wrote: > On Mon, Jan 19, 2015 at 08:31:27AM -0700, Jens Axboe wrote: >> I didn't look at your code yet, but I'm assuming it's a self >> contained IO engine. So we should be able to make that work, by only >> linking the engine itself against libsmbclient. But sheesh, what a >> pain in the butt, why can't we just all be friends. > > The published libsmbclient API misses the async features > that are needed here. Milosz needs to go lower-level. > > Volker Volker, the sync code path works; in fact I pushed some minor corrections to my branch this morning. And for now using FIO I can generate multiple clients (threads / processes). I started working on the async features (SMB2 async read/write) for client library the samba repo. There's a patch there for the first step of it it there; see the other email I sent to you and Jeremy. I was going to make sure it licensed under whatever it needs to get into the samba repo... and since this is done on my own time I personally don't care what license it's under provided it's not a PITA. -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: milosz@adfin.com From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Allison Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Mon, 19 Jan 2015 08:48:57 -0800 Message-ID: <20150119164857.GC12308@jeremy-HP> References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <1421682581.2080.22.camel@HansenPartnership.com> Reply-To: Jeremy Allison Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Jens Axboe , Milosz Tanski , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org, Jeremy Allison To: James Bottomley Return-path: Received: from fn.samba.org ([216.83.154.106]:50311 "EHLO mail.samba.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751535AbbASQsx (ORCPT ); Mon, 19 Jan 2015 11:48:53 -0500 Content-Disposition: inline In-Reply-To: <1421682581.2080.22.camel@HansenPartnership.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Mon, Jan 19, 2015 at 07:49:41AM -0800, James Bottomley wrote: > > For fio, it likely doesn't matter. Most people download the repository > and compile it themselves when building the tool. In that case, there's > no licence violation anyway (all GPL issues, including technical licence > incompatibility, manifest on distribution not on use). It is a problem > for the distributors, but they're well used to these type of self > inflicted wounds. That's true, but it is setting a bear-trap for distributors. Might be better to keep the code repositories separate so at lease people have a *chance* of noticing there's a problem here. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Allison Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Mon, 19 Jan 2015 08:50:30 -0800 Message-ID: <20150119165030.GD12308@jeremy-HP> References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> Reply-To: Jeremy Allison Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Volker Lendecke , Jens Axboe , James Bottomley , Jeremy Allison , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: Milosz Tanski Return-path: Received: from fn.samba.org ([216.83.154.106]:50414 "EHLO mail.samba.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751520AbbASQu0 (ORCPT ); Mon, 19 Jan 2015 11:50:26 -0500 Content-Disposition: inline In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Mon, Jan 19, 2015 at 11:20:50AM -0500, Milosz Tanski wrote: > > Volker, the sync code path works; in fact I pushed some minor > corrections to my branch this morning. And for now using FIO I can > generate multiple clients (threads / processes). > > I started working on the async features (SMB2 async read/write) for > client library the samba repo. There's a patch there for the first > step of it it there; see the other email I sent to you and Jeremy. I > was going to make sure it licensed under whatever it needs to get into > the samba repo... and since this is done on my own time I personally > don't care what license it's under provided it's not a PITA. Anything going into Samba would need to be permissively licensed (MIT/BSD) or GPLv3+ or LGPLv3+. We'd prefer the latter, but we're happy with either. The one thing it *can't* be though, is GPLv2-only. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Allison Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Mon, 19 Jan 2015 09:04:29 -0800 Message-ID: <20150119170429.GA13160@jeremy-HP> References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> Reply-To: Jeremy Allison Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: James Bottomley , Jeremy Allison , Jens Axboe , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: Milosz Tanski Return-path: Received: from fn.samba.org ([216.83.154.106]:50771 "EHLO mail.samba.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751374AbbASREZ (ORCPT ); Mon, 19 Jan 2015 12:04:25 -0500 Content-Disposition: inline In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Mon, Jan 19, 2015 at 2:34 AM, James Bottomley wrote: > > That's one of these pointless licensing complexities that annoy > distributions so much ... they're both open source, so there's no real > problem except the licence incompatibility. The usual way out of it is > just to dual licence the incompatible component. Just one point here - we're not able to dual license Samba to go back to GPLv2 anything. There are too many contributors to this who have contributed under v3-or-later licensing in order for this to be possible for us. I'm hoping adding the 'or-later' clause to fio might be easier. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Richard Sharpe Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Mon, 19 Jan 2015 09:18:14 -0800 Message-ID: References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <20150119170429.GA13160@jeremy-HP> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: Milosz Tanski , James Bottomley , Jens Axboe , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: Jeremy Allison Return-path: In-Reply-To: <20150119170429.GA13160@jeremy-HP> Sender: owner-linux-mm@kvack.org List-Id: linux-fsdevel.vger.kernel.org On Mon, Jan 19, 2015 at 9:04 AM, Jeremy Allison wrote: > On Mon, Jan 19, 2015 at 2:34 AM, James Bottomley > wrote: >> >> That's one of these pointless licensing complexities that annoy >> distributions so much ... they're both open source, so there's no real >> problem except the licence incompatibility. The usual way out of it is >> just to dual licence the incompatible component. > > Just one point here - we're not able to dual license > Samba to go back to GPLv2 anything. There are too many > contributors to this who have contributed under v3-or-later > licensing in order for this to be possible for us. > > I'm hoping adding the 'or-later' clause to fio might > be easier. As someone who has worked for companies that distribute Samba for quite a while I cannot see us distributing fio. Rather, we would use it as a performance testing tool. That being the case, the license differences are not a problem. Am I missing something here? --=20 Regards, Richard Sharpe (=E4=BD=95=E4=BB=A5=E8=A7=A3=E6=86=82=EF=BC=9F=E5=94=AF=E6=9C=89=E6=9D=9C= =E5=BA=B7=E3=80=82--=E6=9B=B9=E6=93=8D) -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Allison Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Mon, 19 Jan 2015 09:20:15 -0800 Message-ID: <20150119172015.GA13428@jeremy-HP> References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <20150119170429.GA13160@jeremy-HP> Reply-To: Jeremy Allison Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Jeremy Allison , Milosz Tanski , James Bottomley , Jens Axboe , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: Richard Sharpe Return-path: Received: from fn.samba.org ([216.83.154.106]:51285 "EHLO mail.samba.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751557AbbASRUL (ORCPT ); Mon, 19 Jan 2015 12:20:11 -0500 Content-Disposition: inline In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Mon, Jan 19, 2015 at 09:18:14AM -0800, Richard Sharpe wrote: > On Mon, Jan 19, 2015 at 9:04 AM, Jeremy Allison wrote: > > On Mon, Jan 19, 2015 at 2:34 AM, James Bottomley > > wrote: > >> > >> That's one of these pointless licensing complexities that annoy > >> distributions so much ... they're both open source, so there's no real > >> problem except the licence incompatibility. The usual way out of it is > >> just to dual licence the incompatible component. > > > > Just one point here - we're not able to dual license > > Samba to go back to GPLv2 anything. There are too many > > contributors to this who have contributed under v3-or-later > > licensing in order for this to be possible for us. > > > > I'm hoping adding the 'or-later' clause to fio might > > be easier. > > As someone who has worked for companies that distribute Samba for > quite a while I cannot see us distributing fio. Rather, we would use > it as a performance testing tool. > > That being the case, the license differences are not a problem. > > Am I missing something here? No, it's only a problem for distributors, so it's much less of a problem than it might be. But it's still a problem I'd rather not have to think about :-). From mboxrd@z Thu Jan 1 00:00:00 1970 From: James Bottomley Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Mon, 19 Jan 2015 09:26:54 -0800 Message-ID: <1421688414.2080.38.camel@HansenPartnership.com> References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <1421682581.2080.22.camel@HansenPartnership.com> <20150119164857.GC12308@jeremy-HP> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Cc: Jens Axboe , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, Milosz Tanski , "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: Jeremy Allison Return-path: In-Reply-To: <20150119164857.GC12308@jeremy-HP> Sender: owner-linux-mm@kvack.org List-Id: linux-fsdevel.vger.kernel.org On Mon, 2015-01-19 at 08:48 -0800, Jeremy Allison wrote: > On Mon, Jan 19, 2015 at 07:49:41AM -0800, James Bottomley wrote: > > > > For fio, it likely doesn't matter. Most people download the repository > > and compile it themselves when building the tool. In that case, there's > > no licence violation anyway (all GPL issues, including technical licence > > incompatibility, manifest on distribution not on use). It is a problem > > for the distributors, but they're well used to these type of self > > inflicted wounds. > > That's true, but it is setting a bear-trap for distributors. It's hardly a bear trap ... this type of annoyance is what they're used to. Some even just ignore it on the grounds of no harm no foul. The first thing they'll ask when they notice is for the protagonists to dual licence. > Might be better to keep the code repositories separate so at > lease people have a *chance* of noticing there's a problem > here. Actually, it might be better to *resolve* the problem before people notice ... if the combination is considered useful, of course. James -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Allison Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Mon, 19 Jan 2015 09:32:57 -0800 Message-ID: <20150119173257.GA14079@jeremy-HP> References: <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <1421682581.2080.22.camel@HansenPartnership.com> <20150119164857.GC12308@jeremy-HP> <1421688414.2080.38.camel@HansenPartnership.com> Reply-To: Jeremy Allison Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Jeremy Allison , Jens Axboe , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, Milosz Tanski , "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: James Bottomley Return-path: Content-Disposition: inline In-Reply-To: <1421688414.2080.38.camel@HansenPartnership.com> Sender: owner-linux-mm@kvack.org List-Id: linux-fsdevel.vger.kernel.org On Mon, Jan 19, 2015 at 09:26:54AM -0800, James Bottomley wrote: > > Actually, it might be better to *resolve* the problem before people > notice ... if the combination is considered useful, of course. Oh sure - no arguments from me there ! -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: Richard Sharpe Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Mon, 19 Jan 2015 09:36:00 -0800 Message-ID: References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <1421682581.2080.22.camel@HansenPartnership.com> <20150119164857.GC12308@jeremy-HP> <1421688414.2080.38.camel@HansenPartnership.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: Jeremy Allison , Jens Axboe , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, Milosz Tanski , "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: James Bottomley Return-path: In-Reply-To: <1421688414.2080.38.camel@HansenPartnership.com> Sender: owner-linux-mm@kvack.org List-Id: linux-fsdevel.vger.kernel.org On Mon, Jan 19, 2015 at 9:26 AM, James Bottomley wrote: > On Mon, 2015-01-19 at 08:48 -0800, Jeremy Allison wrote: >> On Mon, Jan 19, 2015 at 07:49:41AM -0800, James Bottomley wrote: >> > >> > For fio, it likely doesn't matter. Most people download the repositor= y >> > and compile it themselves when building the tool. In that case, there'= s >> > no licence violation anyway (all GPL issues, including technical licen= ce >> > incompatibility, manifest on distribution not on use). It is a proble= m >> > for the distributors, but they're well used to these type of self >> > inflicted wounds. >> >> That's true, but it is setting a bear-trap for distributors. > > It's hardly a bear trap ... this type of annoyance is what they're used > to. Some even just ignore it on the grounds of no harm no foul. The > first thing they'll ask when they notice is for the protagonists to dual > licence. > >> Might be better to keep the code repositories separate so at >> lease people have a *chance* of noticing there's a problem >> here. > > Actually, it might be better to *resolve* the problem before people > notice ... if the combination is considered useful, of course. Actually, I retract my earlier comment. The combination could be very useful to some companies that ship Samba. I can see it being used by field support to test whether there are performance problems either from Windows (under cygwin) or from Linux. That being the case, it would be useful to resolve the license issue before it becomes an issue. --=20 Regards, Richard Sharpe (=E4=BD=95=E4=BB=A5=E8=A7=A3=E6=86=82=EF=BC=9F=E5=94=AF=E6=9C=89=E6=9D=9C= =E5=BA=B7=E3=80=82--=E6=9B=B9=E6=93=8D) -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Axboe Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Mon, 19 Jan 2015 13:00:39 -0700 Message-ID: <54BD6267.1090106@kernel.dk> References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <1421682581.2080.22.camel@HansenPartnership.com> <20150119164857.GC12308@jeremy-HP> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: Milosz Tanski , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: Jeremy Allison , James Bottomley Return-path: Received: from mail-pa0-f50.google.com ([209.85.220.50]:47252 "EHLO mail-pa0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751849AbbASUAm (ORCPT ); Mon, 19 Jan 2015 15:00:42 -0500 Received: by mail-pa0-f50.google.com with SMTP id bj1so40682358pad.9 for ; Mon, 19 Jan 2015 12:00:42 -0800 (PST) In-Reply-To: <20150119164857.GC12308@jeremy-HP> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On 01/19/2015 09:48 AM, Jeremy Allison wrote: > On Mon, Jan 19, 2015 at 07:49:41AM -0800, James Bottomley wrote: >> >> For fio, it likely doesn't matter. Most people download the repository >> and compile it themselves when building the tool. In that case, there's >> no licence violation anyway (all GPL issues, including technical licence >> incompatibility, manifest on distribution not on use). It is a problem >> for the distributors, but they're well used to these type of self >> inflicted wounds. > > That's true, but it is setting a bear-trap for distributors. But not unique. Most distros are behind on fio anyway, so most people do end up compiling on their own. > Might be better to keep the code repositories separate so at > lease people have a *chance* of noticing there's a problem > here. But that's a pain for users, I'd much rather include it and let the distro sort it. They can just add --disable-smb or something to their configure scripts. -- Jens Axboe From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Axboe Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Tue, 20 Jan 2015 12:33:22 -0700 Message-ID: <54BEAD82.3070501@kernel.dk> References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Jeremy Allison , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: Milosz Tanski , James Bottomley Return-path: Received: from mail-pa0-f43.google.com ([209.85.220.43]:63894 "EHLO mail-pa0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751557AbbATTdZ (ORCPT ); Tue, 20 Jan 2015 14:33:25 -0500 Received: by mail-pa0-f43.google.com with SMTP id eu11so10328061pac.2 for ; Tue, 20 Jan 2015 11:33:24 -0800 (PST) In-Reply-To: <54BD234F.3060203@kernel.dk> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On 01/19/2015 08:31 AM, Jens Axboe wrote: > I didn't look at your code yet, but I'm assuming it's a self contained > IO engine. So we should be able to make that work, by only linking the > engine itself against libsmbclient. But sheesh, what a pain in the butt, > why can't we just all be friends. I pulled it in for testing, and came up with this patch [1]. If you don't do anything, it'll build cifs into fio as before. If you add --cifs-external to the configure arguments, it'll build cifs.so as an externally loadable module. You'd then use: ioengine=/path/to/cifs.so to use that module. I did not add an install target, I'll leave that to distros... Let me know how that works for you. And let me know how far along you are with the cifs engine, I'd like to pull it in. http://git.kernel.dk/?p=fio.git;a=shortlog;h=refs/heads/cifs [1] http://git.kernel.dk/?p=fio.git;a=commit;h=c2c05e33b753ae686e24b43d1034d0c474203729 -- Jens Axboe From mboxrd@z Thu Jan 1 00:00:00 1970 From: Milosz Tanski Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Tue, 20 Jan 2015 18:07:51 -0500 Message-ID: References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <54BEAD82.3070501@kernel.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: James Bottomley , Jeremy Allison , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: Jens Axboe Return-path: Received: from mail-lb0-f170.google.com ([209.85.217.170]:43916 "EHLO mail-lb0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751614AbbATXHx (ORCPT ); Tue, 20 Jan 2015 18:07:53 -0500 Received: by mail-lb0-f170.google.com with SMTP id 10so36180971lbg.1 for ; Tue, 20 Jan 2015 15:07:51 -0800 (PST) In-Reply-To: <54BEAD82.3070501@kernel.dk> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Great, I'll pull into my branch. I'm already using FIO with the cifs engine to test and help me debug preadv2 changes to smbd and it works without issues for me today. I'm going to work on the async cifs engine but that will take longer because I need to expose build the async SMB2 support into libsmbclient. I'm going to leave that work till after I get further with preadv2 in samba (hopefully this week). I think the biggest issue with the changes is the configure part of my changes (as seen here: http://git.kernel.dk/?p=fio.git;a=blobdiff;f=configure;h=d4502095250cdf5187b24276c327b727d3d87288;hp=33d1327ebbba5b70a001e422bb5ad9b24d7c7b49;hb=7fd35359259b409ed023b924cb2758e9efb9950c;hpb=5fb4b36674b194ae6c6756314dc0c665fcaea06d ). The way samba packages the client libraries beyond just smbclient-raw requiring me to pull in other libraries and then mess with rpath to guess the distro location is far for ideal. I haven't reported it yet mostly because I was interested it making progress and making it work. Ideally samba folks would fix the pkgconfig file for smbclient-raw to set right LDPATH (including all the depending libraries and rpath) so that stuff is not needed. Additionally, there's a few things not exported in the header files (but used) like: http://git.kernel.dk/?p=fio.git;a=blob;f=engines/cifs.c;h=67c23fac0c70cfc75932c758f44dd377fc3f2608;hb=7fd35359259b409ed023b924cb2758e9efb9950c#l16 . It looks like lpcfg_resolve_context() is the only way to create a struct resolve_context which is used in the cliraw hreads, but lpcfg_resolve_context() is not exported via the header files. Some of this might be not using the library correctly... there really wasn't any documentation so I just guessed by looking the torture code in samba and the smbclient and to see what order to punch the lpcfg_stuff to make smbcli_full_connection() not fail. On Tue, Jan 20, 2015 at 2:33 PM, Jens Axboe wrote: > On 01/19/2015 08:31 AM, Jens Axboe wrote: >> >> I didn't look at your code yet, but I'm assuming it's a self contained >> IO engine. So we should be able to make that work, by only linking the >> engine itself against libsmbclient. But sheesh, what a pain in the butt, >> why can't we just all be friends. > > > I pulled it in for testing, and came up with this patch [1]. If you don't do > anything, it'll build cifs into fio as before. If you add --cifs-external to > the configure arguments, it'll build cifs.so as an externally loadable > module. You'd then use: > > ioengine=/path/to/cifs.so > > to use that module. I did not add an install target, I'll leave that to > distros... > > Let me know how that works for you. And let me know how far along you are > with the cifs engine, I'd like to pull it in. > > http://git.kernel.dk/?p=fio.git;a=shortlog;h=refs/heads/cifs > > [1] > http://git.kernel.dk/?p=fio.git;a=commit;h=c2c05e33b753ae686e24b43d1034d0c474203729 > > -- > Jens Axboe > -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: milosz@adfin.com From mboxrd@z Thu Jan 1 00:00:00 1970 From: Milosz Tanski Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Tue, 20 Jan 2015 18:22:08 -0500 Message-ID: References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <54BEAD82.3070501@kernel.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: James Bottomley , Jeremy Allison , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: Jens Axboe Return-path: In-Reply-To: Sender: owner-linux-mm@kvack.org List-Id: linux-fsdevel.vger.kernel.org Side note Jens. Can you add a configure flag to disable use of SHM (like for ESX)? It took me a while to figure out the proper define to manually stick in the configure. The motivation for this is using rr (mozila's replay debugger) to debug fio. rr doesn't support SHM. http://rr-project.org/ gdb's reversible debugging is too painfully slow. Thanks, - Milosz On Tue, Jan 20, 2015 at 6:07 PM, Milosz Tanski wrote: > Great, I'll pull into my branch. I'm already using FIO with the cifs > engine to test and help me debug preadv2 changes to smbd and it works > without issues for me today. I'm going to work on the async cifs > engine but that will take longer because I need to expose build the > async SMB2 support into libsmbclient. I'm going to leave that work > till after I get further with preadv2 in samba (hopefully this week). > > I think the biggest issue with the changes is the configure part of my > changes (as seen here: > http://git.kernel.dk/?p=fio.git;a=blobdiff;f=configure;h=d4502095250cdf5187b24276c327b727d3d87288;hp=33d1327ebbba5b70a001e422bb5ad9b24d7c7b49;hb=7fd35359259b409ed023b924cb2758e9efb9950c;hpb=5fb4b36674b194ae6c6756314dc0c665fcaea06d > ). > > The way samba packages the client libraries beyond just smbclient-raw > requiring me to pull in other libraries and then mess with rpath to > guess the distro location is far for ideal. I haven't reported it yet > mostly because I was interested it making progress and making it work. > Ideally samba folks would fix the pkgconfig file for smbclient-raw to > set right LDPATH (including all the depending libraries and rpath) so > that stuff is not needed. > > Additionally, there's a few things not exported in the header files > (but used) like: > http://git.kernel.dk/?p=fio.git;a=blob;f=engines/cifs.c;h=67c23fac0c70cfc75932c758f44dd377fc3f2608;hb=7fd35359259b409ed023b924cb2758e9efb9950c#l16 > . It looks like lpcfg_resolve_context() is the only way to create a > struct resolve_context which is used in the cliraw hreads, but > lpcfg_resolve_context() is not exported via the header files. > > Some of this might be not using the library correctly... there really > wasn't any documentation so I just guessed by looking the torture code > in samba and the smbclient and to see what order to punch the > lpcfg_stuff to make smbcli_full_connection() not fail. > > On Tue, Jan 20, 2015 at 2:33 PM, Jens Axboe wrote: >> On 01/19/2015 08:31 AM, Jens Axboe wrote: >>> >>> I didn't look at your code yet, but I'm assuming it's a self contained >>> IO engine. So we should be able to make that work, by only linking the >>> engine itself against libsmbclient. But sheesh, what a pain in the butt, >>> why can't we just all be friends. >> >> >> I pulled it in for testing, and came up with this patch [1]. If you don't do >> anything, it'll build cifs into fio as before. If you add --cifs-external to >> the configure arguments, it'll build cifs.so as an externally loadable >> module. You'd then use: >> >> ioengine=/path/to/cifs.so >> >> to use that module. I did not add an install target, I'll leave that to >> distros... >> >> Let me know how that works for you. And let me know how far along you are >> with the cifs engine, I'd like to pull it in. >> >> http://git.kernel.dk/?p=fio.git;a=shortlog;h=refs/heads/cifs >> >> [1] >> http://git.kernel.dk/?p=fio.git;a=commit;h=c2c05e33b753ae686e24b43d1034d0c474203729 >> >> -- >> Jens Axboe >> > > > > -- > Milosz Tanski > CTO > 16 East 34th Street, 15th floor > New York, NY 10016 > > p: 646-253-9055 > e: milosz@adfin.com -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: milosz@adfin.com -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Axboe Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Tue, 20 Jan 2015 16:26:46 -0700 Message-ID: <54BEE436.4020205@kernel.dk> References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <54BEAD82.3070501@kernel.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: James Bottomley , Jeremy Allison , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: Milosz Tanski Return-path: Received: from mail-pd0-f179.google.com ([209.85.192.179]:42242 "EHLO mail-pd0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751841AbbATX0b (ORCPT ); Tue, 20 Jan 2015 18:26:31 -0500 Received: by mail-pd0-f179.google.com with SMTP id v10so27699471pde.10 for ; Tue, 20 Jan 2015 15:26:31 -0800 (PST) In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On 01/20/2015 04:22 PM, Milosz Tanski wrote: > Side note Jens. > > Can you add a configure flag to disable use of SHM (like for ESX)? It > took me a while to figure out the proper define to manually stick in > the configure. > > The motivation for this is using rr (mozila's replay debugger) to > debug fio. rr doesn't support SHM. http://rr-project.org/ gdb's > reversible debugging is too painfully slow. Yeah definitely, that's mean that thread=1 would be a requirement, obviously. But I'd be fine with adding that flag. -- Jens Axboe From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Axboe Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Tue, 20 Jan 2015 16:30:39 -0700 Message-ID: <54BEE51F.7080400@kernel.dk> References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <54BEAD82.3070501@kernel.dk> <54BEE436.4020205@kernel.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: James Bottomley , Jeremy Allison , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: Milosz Tanski Return-path: Received: from mail-pa0-f50.google.com ([209.85.220.50]:45843 "EHLO mail-pa0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751557AbbATXaY (ORCPT ); Tue, 20 Jan 2015 18:30:24 -0500 Received: by mail-pa0-f50.google.com with SMTP id bj1so48767176pad.9 for ; Tue, 20 Jan 2015 15:30:24 -0800 (PST) In-Reply-To: <54BEE436.4020205@kernel.dk> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On 01/20/2015 04:26 PM, Jens Axboe wrote: > On 01/20/2015 04:22 PM, Milosz Tanski wrote: >> Side note Jens. >> >> Can you add a configure flag to disable use of SHM (like for ESX)? It >> took me a while to figure out the proper define to manually stick in >> the configure. >> >> The motivation for this is using rr (mozila's replay debugger) to >> debug fio. rr doesn't support SHM. http://rr-project.org/ gdb's >> reversible debugging is too painfully slow. > > Yeah definitely, that's mean that thread=1 would be a requirement, > obviously. But I'd be fine with adding that flag. http://git.kernel.dk/?p=fio.git;a=commit;h=ba40757ed67c00b37dda3639e97c3ba0259840a4 -- Jens Axboe From mboxrd@z Thu Jan 1 00:00:00 1970 From: Milosz Tanski Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Tue, 20 Jan 2015 18:53:57 -0500 Message-ID: References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <54BEAD82.3070501@kernel.dk> <54BEE436.4020205@kernel.dk> <54BEE51F.7080400@kernel.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: James Bottomley , Jeremy Allison , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: Jens Axboe Return-path: Received: from mail-la0-f54.google.com ([209.85.215.54]:45793 "EHLO mail-la0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751299AbbATXx7 (ORCPT ); Tue, 20 Jan 2015 18:53:59 -0500 Received: by mail-la0-f54.google.com with SMTP id pv20so37325530lab.13 for ; Tue, 20 Jan 2015 15:53:57 -0800 (PST) In-Reply-To: <54BEE51F.7080400@kernel.dk> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Tue, Jan 20, 2015 at 6:30 PM, Jens Axboe wrote: > On 01/20/2015 04:26 PM, Jens Axboe wrote: >> On 01/20/2015 04:22 PM, Milosz Tanski wrote: >>> Side note Jens. >>> >>> Can you add a configure flag to disable use of SHM (like for ESX)? It >>> took me a while to figure out the proper define to manually stick in >>> the configure. >>> >>> The motivation for this is using rr (mozila's replay debugger) to >>> debug fio. rr doesn't support SHM. http://rr-project.org/ gdb's >>> reversible debugging is too painfully slow. >> >> Yeah definitely, that's mean that thread=1 would be a requirement, >> obviously. But I'd be fine with adding that flag. > > http://git.kernel.dk/?p=fio.git;a=commit;h=ba40757ed67c00b37dda3639e97c3ba0259840a4 Great, thanks for fixing it so quickly. Hopefully it'll be useful to others as well. - M -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: milosz@adfin.com From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Axboe Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Wed, 21 Jan 2015 14:17:00 -0700 Message-ID: <54C0174C.9060203@kernel.dk> References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <54BEAD82.3070501@kernel.dk> <54BEE436.4020205@kernel.dk> <54BEE51F.7080400@kernel.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: James Bottomley , Jeremy Allison , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: Milosz Tanski Return-path: In-Reply-To: Sender: owner-linux-mm@kvack.org List-Id: linux-fsdevel.vger.kernel.org On 01/20/2015 04:53 PM, Milosz Tanski wrote: > On Tue, Jan 20, 2015 at 6:30 PM, Jens Axboe wrote: >> On 01/20/2015 04:26 PM, Jens Axboe wrote: >>> On 01/20/2015 04:22 PM, Milosz Tanski wrote: >>>> Side note Jens. >>>> >>>> Can you add a configure flag to disable use of SHM (like for ESX)? It >>>> took me a while to figure out the proper define to manually stick in >>>> the configure. >>>> >>>> The motivation for this is using rr (mozila's replay debugger) to >>>> debug fio. rr doesn't support SHM. http://rr-project.org/ gdb's >>>> reversible debugging is too painfully slow. >>> >>> Yeah definitely, that's mean that thread=1 would be a requirement, >>> obviously. But I'd be fine with adding that flag. >> >> http://git.kernel.dk/?p=fio.git;a=commit;h=ba40757ed67c00b37dda3639e97c3ba0259840a4 > > Great, thanks for fixing it so quickly. Hopefully it'll be useful to > others as well. No problem, it's in the 2.2.5 version as released. Let me know when you are comfortable with me pulling in the cifs engine. -- Jens Axboe -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: Milosz Tanski Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Thu, 22 Jan 2015 19:03:39 -0500 Message-ID: References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <54BEAD82.3070501@kernel.dk> <54BEE436.4020205@kernel.dk> <54BEE51F.7080400@kernel.dk> <54C0174C.9060203@kernel.dk> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=089e0160a3b6591df0050d4685c9 Cc: James Bottomley , Jeremy Allison , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org, samba-technical@lists.samba.org To: Jens Axboe Return-path: In-Reply-To: <54C0174C.9060203@kernel.dk> Sender: owner-linux-mm@kvack.org List-Id: linux-fsdevel.vger.kernel.org --089e0160a3b6591df0050d4685c9 Content-Type: text/plain; charset=UTF-8 On Wed, Jan 21, 2015 at 4:17 PM, Jens Axboe wrote: > On 01/20/2015 04:53 PM, Milosz Tanski wrote: > >> On Tue, Jan 20, 2015 at 6:30 PM, Jens Axboe wrote: >> >>> On 01/20/2015 04:26 PM, Jens Axboe wrote: >>> >>>> On 01/20/2015 04:22 PM, Milosz Tanski wrote: >>>> >>>>> Side note Jens. >>>>> >>>>> Can you add a configure flag to disable use of SHM (like for ESX)? It >>>>> took me a while to figure out the proper define to manually stick in >>>>> the configure. >>>>> >>>>> The motivation for this is using rr (mozila's replay debugger) to >>>>> debug fio. rr doesn't support SHM. http://rr-project.org/ gdb's >>>>> reversible debugging is too painfully slow. >>>>> >>>> >>>> Yeah definitely, that's mean that thread=1 would be a requirement, >>>> obviously. But I'd be fine with adding that flag. >>>> >>> >>> http://git.kernel.dk/?p=fio.git;a=commit;h= >>> ba40757ed67c00b37dda3639e97c3ba0259840a4 >>> >> >> Great, thanks for fixing it so quickly. Hopefully it'll be useful to >> others as well. >> > > No problem, it's in the 2.2.5 version as released. Let me know when you > are comfortable with me pulling in the cifs engine. Jermey, Volker, Sorry for the spam to everybody in advance... this thread got away from me. This is a general libsmbclient-raw question for you guys (even outside the context of FIO). How should an external person consuming libsmbclient-raw link to it? What I mean by that is that that both linking to libsmbclient-raw and via -llibsmbclient-raw or using pkgconfig doesn't really work do missing. Using the current pkgconfig ends up with lot of missing symbols at link time. It doesn't matter if I'm using samba built from source or samba built from my distro package (Ubuntu or Debian). There's a couple things so let me try to unpack them: 1. It doesn't seam like LDFLAGS pkgconfig setup in smbclient-raw.pc is correct. It doesn't include dependent libraries that are needed like libtalloc, libdcerpc, libsamba-credentials.so... and many more private libraries. Please see below errors. 2. There's an intention is to have private building blocks split been public and private libraries and it doesn't make sense (to me). Some of the libraries go into $PREFIX/lib/ and some go in to $PREFIX/lib/private (seams that it's $PREFIX/lib/samba when it's packaged by distros like Debian/Ubuntu). However, some very basic things (like handling of NTSTATUS) end up going into private libraries like liberrors (get_friendly_nt_error_msg, nt_errstr). It's hard to build error handling that prints a useful message without them. It gets even more difficult, lpcfg_resolve_context() lives in private libcli-ldap functions live and doesn't get mentioned in any headers in $PREFIX/include. To the best of my knowledge it's not even possible to make a successful call to smbcli_full_connection with passing in a non-null resolve_context struct. And it seams like the only way to do that is to call lpcfg_resolve_context(). Every example of a utility in the samba tree that does smbcli_full_connection(), uses a resolve_context created by lpcfg_resolve_context(). Believe me, I tried a lot of different things and without getting a NT_STATUS_INVALID_something. smbcli_full_connection() seams to a public function in a public library with a public header. I can fix this and submit a patch / pull request to you guys; the first one seams like an easy thing to tackle. The second one I need more guidance on since I don't fully understand the intent / how did you guys design the split. This is what happens if I use pkgconfig: gcc -rdynamic -std=gnu99 -Wwrite-strings -Wall -Wdeclaration-after-statement -O3 -g -ffast-math -D_GNU_SOURCE -include config-host.h -DHAVE_IMMEDIATE_STRUCTURES=1 -I/usr/local/samba/include -DBITS_PER_LONG=64 -DFIO_VERSION='"fio-2.1.11-23-g78d3d"' -o fio gettime.o ioengines.o init.o stat.o log.o time.o filesetup.o eta.o verify.o memory.o io_u.o parse.o mutex.o options.o lib/rbtree.o smalloc.o filehash.o profile.o debug.o lib/rand.o lib/num2str.o lib/ieee754.o crc/crc16.o crc/crc32.o crc/crc32c.o crc/crc32c-intel.o crc/crc64.o crc/crc7.o crc/md5.o crc/sha1.o crc/sha256.o crc/sha512.o crc/test.o crc/xxhash.o engines/cpu.o engines/mmap.o engines/sync.o engines/null.o engines/net.o memalign.o server.o client.o iolog.o backend.o libfio.o flow.o cconv.o lib/prio_tree.o json.o lib/zipf.o lib/axmap.o lib/lfsr.o gettime-thread.o helpers.o lib/flist_sort.o lib/hweight.o lib/getrusage.o idletime.o td_error.o profiles/tiobench.o profiles/act.o io_u_queue.o filelock.o lib/tp.o engines/libaio.o engines/posixaio.o engines/falloc.o engines/e4defrag.o engines/splice.o engines/cifs.o engines/cifs_sync.o diskutil.o fifo.o blktrace.o cgroup.o trim.o engines/sg.o engines/binject.o fio.o -lnuma -libverbs -lrt -laio -lz -Wl,-rpath,/usr/local/samba/lib -L/usr/local/samba/lib -lsmbclient-raw -lm -lpthread -ldl engines/cifs_sync.o: In function `fio_cifs_queue': /home/mtanski/src/fio/engines/cifs_sync.c:47: undefined reference to `smbcli_write' /home/mtanski/src/fio/engines/cifs_sync.c:43: undefined reference to `smbcli_read' engines/cifs.o: In function `fio_cifs_init': /home/mtanski/src/fio/engines/cifs.c:64: undefined reference to `talloc_named_const' /home/mtanski/src/fio/engines/cifs.c:73: undefined reference to `samba_tevent_context_init' /home/mtanski/src/fio/engines/cifs.c:76: undefined reference to `gensec_init' /home/mtanski/src/fio/engines/cifs.c:78: undefined reference to `loadparm_init_global' /home/mtanski/src/fio/engines/cifs.c:79: undefined reference to `lpcfg_load_default' /home/mtanski/src/fio/engines/cifs.c:80: undefined reference to `lpcfg_smbcli_options' /home/mtanski/src/fio/engines/cifs.c:81: undefined reference to `lpcfg_smbcli_session_options' /home/mtanski/src/fio/engines/cifs.c:84: undefined reference to `cli_credentials_init' /home/mtanski/src/fio/engines/cifs.c:85: undefined reference to `cli_credentials_set_anonymous' /home/mtanski/src/fio/engines/cifs.c:88: undefined reference to `cli_credentials_parse_string' /home/mtanski/src/fio/engines/cifs.c:95: undefined reference to `cli_credentials_set_password' /home/mtanski/src/fio/engines/cifs.c:103: undefined reference to `cli_credentials_guess' /home/mtanski/src/fio/engines/cifs.c:105: undefined reference to `lpcfg_gensec_settings' /home/mtanski/src/fio/engines/cifs.c:105: undefined reference to `lpcfg_resolve_context' /home/mtanski/src/fio/engines/cifs.c:105: undefined reference to `lpcfg_socket_options' /home/mtanski/src/fio/engines/cifs.c:105: undefined reference to `lpcfg_smb_ports' /home/mtanski/src/fio/engines/cifs.c:105: undefined reference to `smbcli_full_connection' /home/mtanski/src/fio/engines/cifs.c:122: undefined reference to `nt_errstr' /home/mtanski/src/fio/engines/cifs.c:122: undefined reference to `get_friendly_nt_error_msg' /home/mtanski/src/fio/engines/cifs.c:134: undefined reference to `_talloc_free' engines/cifs.o: In function `fio_cifs_cleanup': /home/mtanski/src/fio/engines/cifs.c:144: undefined reference to `smbcli_tdis' engines/cifs.o: In function `fio_cifs_open_file': /home/mtanski/src/fio/engines/cifs.c:174: undefined reference to `smbcli_open' engines/cifs.o: In function `extend_file': /home/mtanski/src/fio/engines/cifs.c:269: undefined reference to `smbcli_getattrE' /home/mtanski/src/fio/engines/cifs.c:318: undefined reference to `smbcli_write' /home/mtanski/src/fio/engines/cifs.c:284: undefined reference to `smbcli_ftruncate' /home/mtanski/src/fio/engines/cifs.c:288: undefined reference to `nt_errstr' /home/mtanski/src/fio/engines/cifs.c:288: undefined reference to `get_friendly_nt_error_msg' /home/mtanski/src/fio/engines/cifs.c:273: undefined reference to `nt_errstr' /home/mtanski/src/fio/engines/cifs.c:273: undefined reference to `get_friendly_nt_error_msg' engines/cifs.o: In function `fio_cifs_close_file': /home/mtanski/src/fio/engines/cifs.c:192: undefined reference to `smbcli_close' /home/mtanski/src/fio/engines/cifs.c:195: undefined reference to `nt_errstr' /home/mtanski/src/fio/engines/cifs.c:195: undefined reference to `get_friendly_nt_error_msg' engines/cifs.o: In function `fio_cifs_unlink_file': /home/mtanski/src/fio/engines/cifs.c:213: undefined reference to `smbcli_unlink' /home/mtanski/src/fio/engines/cifs.c:216: undefined reference to `nt_errstr' /home/mtanski/src/fio/engines/cifs.c:216: undefined reference to `get_friendly_nt_error_msg' engines/cifs.o: In function `fio_cifs_get_file_size': /home/mtanski/src/fio/engines/cifs.c:238: undefined reference to `smbcli_getattrE' /home/mtanski/src/fio/engines/cifs.c:242: undefined reference to `nt_errstr' /home/mtanski/src/fio/engines/cifs.c:242: undefined reference to `get_friendly_nt_error_msg' engines/cifs.o: In function `fio_cifs_cleanup': /home/mtanski/src/fio/engines/cifs.c:145: undefined reference to `_talloc_free' collect2: error: ld returned 1 exit status -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: milosz@adfin.com --089e0160a3b6591df0050d4685c9 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On W= ed, Jan 21, 2015 at 4:17 PM, Jens Axboe <axboe@kernel.dk> wrot= e:
On 01/20/2015 04:53 PM, Milosz Tans= ki wrote:
On Tue, Jan 20, 2015 at 6:30 PM, Jens Axboe <axboe@kernel.dk> wrote:
On 01/20/2015 04:26 PM, Jens Axboe wrote:
On 01/20/2015 04:22 PM, Milosz Tanski wrote:
Side note Jens.

Can you add a configure flag to disable use of SHM (like for ESX)? It
took me a while to figure out the proper define to manually stick in
the configure.

The motivation for this is using rr (mozila's replay debugger) to
debug fio. rr doesn't support SHM. http://rr-project.org/ gdb's
reversible debugging is too painfully slow.

Yeah definitely, that's mean that thread=3D1 would be a requirement, obviously. But I'd be fine with adding that flag.

http://git.kernel.dk/?p=3Dfio.= git;a=3Dcommit;h=3Dba40757ed67c00b37dda3639e97c3ba0259= 840a4

Great, thanks for fixing it so quickly. Hopefully it'll be useful to others as well.

No problem, it's in the 2.2.5 version as released. Let me know when you= are comfortable with me pulling in the cifs engine.

<= /div>
Jermey, Volker,

Sorry for the spam to ev= erybody in advance... this thread got away from me.


This is a general libsmbclient-raw question for you guys (= even outside the context of FIO). How should an external person consuming l= ibsmbclient-raw link to it?

What I mean by that is= that that both linking to libsmbclient-raw and via -llibsmbclient-raw or u= sing pkgconfig doesn't really work do missing. Using the current pkgcon= fig ends up with lot of missing symbols at link time. It doesn't matter= if I'm using samba built from source or samba built from my distro pac= kage (Ubuntu or Debian). There's a couple things so let me try to unpac= k them:

1. It doesn't seam like LDFLAGS pkgcon= fig setup in smbclient-raw.pc is correct.

It doesn= 't include dependent libraries that are needed like libtalloc, libdcerp= c, libsamba-credentials.so... and many more private libraries. Please see b= elow errors.

2. There's an intention is to= have private building blocks split been public and private libraries and i= t doesn't make sense (to me).

Some of the libr= aries go into $PREFIX/lib/ and some go in to $PREFIX/lib/private (seams tha= t it's $PREFIX/lib/samba when it's=C2=A0packaged by distros like De= bian/Ubuntu). However, some very basic things (like handling of NTSTATUS) e= nd up going into private libraries like liberrors (get_friendly_nt_error_ms= g, nt_errstr). It's hard to build error handling that prints a useful m= essage without them.

It gets even more difficult, = lpcfg_resolve_context() lives in private libcli-ldap functions live and doe= sn't get mentioned in any headers in $PREFIX/include. To the best of my= knowledge it's not even possible to make a successful call to smbcli_f= ull_connection with passing in a non-null resolve_context struct. And it se= ams like the only way to do that is to call lpcfg_resolve_context(). Every = example of a utility in the samba tree that does smbcli_full_connection(), = uses a resolve_context created by lpcfg_resolve_context(). Believe me, I tr= ied a lot of different things and without getting a NT_STATUS_INVALID_somet= hing. =C2=A0 smbcli_full_connection() seams to a public function in a publi= c library with a public header.


I c= an fix this and submit a patch / pull request to you guys; the first one se= ams like an easy thing to tackle. The second one I need more guidance on si= nce I don't fully understand the intent / how did you guys design the s= plit.

This is what happens if I use pkgconfig:=

gcc -rdynamic -std=3Dgnu99 -Wwrite-strings -= Wall -Wdeclaration-after-statement -O3 -g -ffast-math =C2=A0-D_GNU_SOURCE -= include config-host.h -DHAVE_IMMEDIATE_STRUCTURES=3D1 -I/usr/local/samba/in= clude =C2=A0 -DBITS_PER_LONG=3D64 -DFIO_VERSION=3D'"fio-2.1.11-23-= g78d3d"' -o fio gettime.o ioengines.o init.o stat.o log.o time.o f= ilesetup.o eta.o verify.o memory.o io_u.o parse.o mutex.o options.o lib/rbt= ree.o smalloc.o filehash.o profile.o debug.o lib/rand.o lib/num2str.o lib/i= eee754.o crc/crc16.o crc/crc32.o crc/crc32c.o crc/crc32c-intel.o crc/crc64.= o crc/crc7.o crc/md5.o crc/sha1.o crc/sha256.o crc/sha512.o crc/test.o crc/= xxhash.o engines/cpu.o engines/mmap.o engines/sync.o engines/null.o engines= /net.o memalign.o server.o client.o iolog.o backend.o libfio.o flow.o cconv= .o lib/prio_tree.o json.o lib/zipf.o lib/axmap.o lib/lfsr.o gettime-thread.= o helpers.o lib/flist_sort.o lib/hweight.o lib/getrusage.o idletime.o td_er= ror.o profiles/tiobench.o profiles/act.o io_u_queue.o filelock.o lib/tp.o e= ngines/libaio.o engines/posixaio.o engines/falloc.o engines/e4defrag.o engi= nes/splice.o engines/cifs.o engines/cifs_sync.o diskutil.o fifo.o blktrace.= o cgroup.o trim.o engines/sg.o engines/binject.o fio.o -lnuma -libverbs -lr= t -laio -lz =C2=A0-Wl,-rpath,/usr/local/samba/lib -L/usr/local/samba/lib -l= smbclient-raw =C2=A0 -lm =C2=A0-lpthread -ldl=C2=A0
engines/cifs_= sync.o: In function `fio_cifs_queue':
/home/mtanski/src/fio/e= ngines/cifs_sync.c:47: undefined reference to `smbcli_write'
= /home/mtanski/src/fio/engines/cifs_sync.c:43: undefined reference to `smbcl= i_read'
engines/cifs.o: In function `fio_cifs_init':
/home/mtanski/src/fio/engines/cifs.c:64: undefined reference to `tall= oc_named_const'
/home/mtanski/src/fio/engines/cifs.c:73: unde= fined reference to `samba_tevent_context_init'
/home/mtanski/= src/fio/engines/cifs.c:76: undefined reference to `gensec_init'
/home/mtanski/src/fio/engines/cifs.c:78: undefined reference to `loadpar= m_init_global'
/home/mtanski/src/fio/engines/cifs.c:79: undef= ined reference to `lpcfg_load_default'
/home/mtanski/src/fio/= engines/cifs.c:80: undefined reference to `lpcfg_smbcli_options'
<= div>/home/mtanski/src/fio/engines/cifs.c:81: undefined reference to `lpcfg_= smbcli_session_options'
/home/mtanski/src/fio/engines/cifs.c:= 84: undefined reference to `cli_credentials_init'
/home/mtans= ki/src/fio/engines/cifs.c:85: undefined reference to `cli_credentials_set_a= nonymous'
/home/mtanski/src/fio/engines/cifs.c:88: undefined = reference to `cli_credentials_parse_string'
/home/mtanski/src= /fio/engines/cifs.c:95: undefined reference to `cli_credentials_set_passwor= d'
/home/mtanski/src/fio/engines/cifs.c:103: undefined refere= nce to `cli_credentials_guess'
/home/mtanski/src/fio/engines/= cifs.c:105: undefined reference to `lpcfg_gensec_settings'
/h= ome/mtanski/src/fio/engines/cifs.c:105: undefined reference to `lpcfg_resol= ve_context'
/home/mtanski/src/fio/engines/cifs.c:105: undefin= ed reference to `lpcfg_socket_options'
/home/mtanski/src/fio/= engines/cifs.c:105: undefined reference to `lpcfg_smb_ports'
= /home/mtanski/src/fio/engines/cifs.c:105: undefined reference to `smbcli_fu= ll_connection'
/home/mtanski/src/fio/engines/cifs.c:122: unde= fined reference to `nt_errstr'
/home/mtanski/src/fio/engines/= cifs.c:122: undefined reference to `get_friendly_nt_error_msg'
/home/mtanski/src/fio/engines/cifs.c:134: undefined reference to `_talloc= _free'
engines/cifs.o: In function `fio_cifs_cleanup':
/home/mtanski/src/fio/engines/cifs.c:144: undefined reference to `s= mbcli_tdis'
engines/cifs.o: In function `fio_cifs_open_file&#= 39;:
/home/mtanski/src/fio/engines/cifs.c:174: undefined referenc= e to `smbcli_open'
engines/cifs.o: In function `extend_file&#= 39;:
/home/mtanski/src/fio/engines/cifs.c:269: undefined referenc= e to `smbcli_getattrE'
/home/mtanski/src/fio/engines/cifs.c:3= 18: undefined reference to `smbcli_write'
/home/mtanski/src/f= io/engines/cifs.c:284: undefined reference to `smbcli_ftruncate'
<= div>/home/mtanski/src/fio/engines/cifs.c:288: undefined reference to `nt_er= rstr'
/home/mtanski/src/fio/engines/cifs.c:288: undefined ref= erence to `get_friendly_nt_error_msg'
/home/mtanski/src/fio/e= ngines/cifs.c:273: undefined reference to `nt_errstr'
/home/m= tanski/src/fio/engines/cifs.c:273: undefined reference to `get_friendly_nt_= error_msg'
engines/cifs.o: In function `fio_cifs_close_file&#= 39;:
/home/mtanski/src/fio/engines/cifs.c:192: undefined referenc= e to `smbcli_close'
/home/mtanski/src/fio/engines/cifs.c:195:= undefined reference to `nt_errstr'
/home/mtanski/src/fio/eng= ines/cifs.c:195: undefined reference to `get_friendly_nt_error_msg'
engines/cifs.o: In function `fio_cifs_unlink_file':
/h= ome/mtanski/src/fio/engines/cifs.c:213: undefined reference to `smbcli_unli= nk'
/home/mtanski/src/fio/engines/cifs.c:216: undefined refer= ence to `nt_errstr'
/home/mtanski/src/fio/engines/cifs.c:216:= undefined reference to `get_friendly_nt_error_msg'
engines/c= ifs.o: In function `fio_cifs_get_file_size':
/home/mtanski/sr= c/fio/engines/cifs.c:238: undefined reference to `smbcli_getattrE'
/home/mtanski/src/fio/engines/cifs.c:242: undefined reference to `nt_= errstr'
/home/mtanski/src/fio/engines/cifs.c:242: undefined r= eference to `get_friendly_nt_error_msg'
engines/cifs.o: In fu= nction `fio_cifs_cleanup':
/home/mtanski/src/fio/engines/cifs= .c:145: undefined reference to `_talloc_free'
collect2: error= : ld returned 1 exit status

--
Milosz Tanski
CTO
16 East 34t= h Street, 15th floor
New York, NY 10016

p: 646-253-9055
e: milosz@adfin.com
=
--089e0160a3b6591df0050d4685c9-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: Milosz Tanski Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Thu, 22 Jan 2015 19:10:31 -0500 Message-ID: References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <54BEAD82.3070501@kernel.dk> <54BEE436.4020205@kernel.dk> <54BEE51F.7080400@kernel.dk> <54C0174C.9060203@kernel.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: James Bottomley , Jeremy Allison , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org To: Jens Axboe Return-path: In-Reply-To: <54C0174C.9060203@kernel.dk> Sender: owner-linux-mm@kvack.org List-Id: linux-fsdevel.vger.kernel.org On Wed, Jan 21, 2015 at 4:17 PM, Jens Axboe wrote: > On 01/20/2015 04:53 PM, Milosz Tanski wrote: >> >> On Tue, Jan 20, 2015 at 6:30 PM, Jens Axboe wrote: >>> >>> On 01/20/2015 04:26 PM, Jens Axboe wrote: >>>> >>>> On 01/20/2015 04:22 PM, Milosz Tanski wrote: >>>>> >>>>> Side note Jens. >>>>> >>>>> Can you add a configure flag to disable use of SHM (like for ESX)? It >>>>> took me a while to figure out the proper define to manually stick in >>>>> the configure. >>>>> >>>>> The motivation for this is using rr (mozila's replay debugger) to >>>>> debug fio. rr doesn't support SHM. http://rr-project.org/ gdb's >>>>> reversible debugging is too painfully slow. >>>> >>>> >>>> Yeah definitely, that's mean that thread=1 would be a requirement, >>>> obviously. But I'd be fine with adding that flag. >>> >>> >>> >>> http://git.kernel.dk/?p=fio.git;a=commit;h=ba40757ed67c00b37dda3639e97c3ba0259840a4 >> >> >> Great, thanks for fixing it so quickly. Hopefully it'll be useful to >> others as well. > > > No problem, it's in the 2.2.5 version as released. Let me know when you are > comfortable with me pulling in the cifs engine. > Jermey, Volker, Sorry for the spam to everybody in advance... this thread got away from me. Also, sorry for dup message and HTML. Gmail decided to upgrade my message from text to HTML in the middle of the thread; this is like the Nth time this has happened to me in a year. This is a general libsmbclient-raw question for you guys (even outside the context of FIO). How should an external person consuming libsmbclient-raw link to it? What I mean by that is that that both linking to libsmbclient-raw and via -llibsmbclient-raw or using pkgconfig doesn't really work do missing. Using the current pkgconfig ends up with lot of missing symbols at link time. It doesn't matter if I'm using samba built from source or samba built from my distro package (Ubuntu or Debian). There's a couple things so let me try to unpack them: 1. It doesn't seam like LDFLAGS pkgconfig setup in smbclient-raw.pc is correct. It doesn't include dependent libraries that are needed like libtalloc, libdcerpc, libsamba-credentials.so... and many more private libraries. Please see below errors. 2. There's an intention is to have private building blocks split been public and private libraries and it doesn't make sense (to me). Some of the libraries go into $PREFIX/lib/ and some go in to $PREFIX/lib/private (seams that it's $PREFIX/lib/samba when it's packaged by distros like Debian/Ubuntu). However, some very basic things (like handling of NTSTATUS) end up going into private libraries like liberrors (get_friendly_nt_error_msg, nt_errstr). It's hard to build error handling that prints a useful message without them. It gets even more difficult, lpcfg_resolve_context() lives in private libcli-ldap functions live and doesn't get mentioned in any headers in $PREFIX/include. To the best of my knowledge it's not even possible to make a successful call to smbcli_full_connection with passing in a non-null resolve_context struct. And it seams like the only way to do that is to call lpcfg_resolve_context(). Every example of a utility in the samba tree that does smbcli_full_connection(), uses a resolve_context created by lpcfg_resolve_context(). Believe me, I tried a lot of different things and without getting a NT_STATUS_INVALID_something. smbcli_full_connection() seams to a public function in a public library with a public header. I can fix this and submit a patch / pull request to you guys; the first one seams like an easy thing to tackle. The second one I need more guidance on since I don't fully understand the intent / how did you guys design the split. This is what happens if I use pkgconfig: gcc -rdynamic -std=gnu99 -Wwrite-strings -Wall -Wdeclaration-after-statement -O3 -g -ffast-math -D_GNU_SOURCE -include config-host.h -DHAVE_IMMEDIATE_STRUCTURES=1 -I/usr/local/samba/include -DBITS_PER_LONG=64 -DFIO_VERSION='"fio-2.1.11-23-g78d3d"' -o fio gettime.o ioengines.o init.o stat.o log.o time.o filesetup.o eta.o verify.o memory.o io_u.o parse.o mutex.o options.o lib/rbtree.o smalloc.o filehash.o profile.o debug.o lib/rand.o lib/num2str.o lib/ieee754.o crc/crc16.o crc/crc32.o crc/crc32c.o crc/crc32c-intel.o crc/crc64.o crc/crc7.o crc/md5.o crc/sha1.o crc/sha256.o crc/sha512.o crc/test.o crc/xxhash.o engines/cpu.o engines/mmap.o engines/sync.o engines/null.o engines/net.o memalign.o server.o client.o iolog.o backend.o libfio.o flow.o cconv.o lib/prio_tree.o json.o lib/zipf.o lib/axmap.o lib/lfsr.o gettime-thread.o helpers.o lib/flist_sort.o lib/hweight.o lib/getrusage.o idletime.o td_error.o profiles/tiobench.o profiles/act.o io_u_queue.o filelock.o lib/tp.o engines/libaio.o engines/posixaio.o engines/falloc.o engines/e4defrag.o engines/splice.o engines/cifs.o engines/cifs_sync.o diskutil.o fifo.o blktrace.o cgroup.o trim.o engines/sg.o engines/binject.o fio.o -lnuma -libverbs -lrt -laio -lz -Wl,-rpath,/usr/local/samba/lib -L/usr/local/samba/lib -lsmbclient-raw -lm -lpthread -ldl engines/cifs_sync.o: In function `fio_cifs_queue': /home/mtanski/src/fio/engines/cifs_sync.c:47: undefined reference to `smbcli_write' /home/mtanski/src/fio/engines/cifs_sync.c:43: undefined reference to `smbcli_read' engines/cifs.o: In function `fio_cifs_init': /home/mtanski/src/fio/engines/cifs.c:64: undefined reference to `talloc_named_const' /home/mtanski/src/fio/engines/cifs.c:73: undefined reference to `samba_tevent_context_init' /home/mtanski/src/fio/engines/cifs.c:76: undefined reference to `gensec_init' /home/mtanski/src/fio/engines/cifs.c:78: undefined reference to `loadparm_init_global' /home/mtanski/src/fio/engines/cifs.c:79: undefined reference to `lpcfg_load_default' /home/mtanski/src/fio/engines/cifs.c:80: undefined reference to `lpcfg_smbcli_options' /home/mtanski/src/fio/engines/cifs.c:81: undefined reference to `lpcfg_smbcli_session_options' /home/mtanski/src/fio/engines/cifs.c:84: undefined reference to `cli_credentials_init' /home/mtanski/src/fio/engines/cifs.c:85: undefined reference to `cli_credentials_set_anonymous' /home/mtanski/src/fio/engines/cifs.c:88: undefined reference to `cli_credentials_parse_string' /home/mtanski/src/fio/engines/cifs.c:95: undefined reference to `cli_credentials_set_password' /home/mtanski/src/fio/engines/cifs.c:103: undefined reference to `cli_credentials_guess' /home/mtanski/src/fio/engines/cifs.c:105: undefined reference to `lpcfg_gensec_settings' /home/mtanski/src/fio/engines/cifs.c:105: undefined reference to `lpcfg_resolve_context' /home/mtanski/src/fio/engines/cifs.c:105: undefined reference to `lpcfg_socket_options' /home/mtanski/src/fio/engines/cifs.c:105: undefined reference to `lpcfg_smb_ports' /home/mtanski/src/fio/engines/cifs.c:105: undefined reference to `smbcli_full_connection' /home/mtanski/src/fio/engines/cifs.c:122: undefined reference to `nt_errstr' /home/mtanski/src/fio/engines/cifs.c:122: undefined reference to `get_friendly_nt_error_msg' /home/mtanski/src/fio/engines/cifs.c:134: undefined reference to `_talloc_free' engines/cifs.o: In function `fio_cifs_cleanup': /home/mtanski/src/fio/engines/cifs.c:144: undefined reference to `smbcli_tdis' engines/cifs.o: In function `fio_cifs_open_file': /home/mtanski/src/fio/engines/cifs.c:174: undefined reference to `smbcli_open' engines/cifs.o: In function `extend_file': /home/mtanski/src/fio/engines/cifs.c:269: undefined reference to `smbcli_getattrE' /home/mtanski/src/fio/engines/cifs.c:318: undefined reference to `smbcli_write' /home/mtanski/src/fio/engines/cifs.c:284: undefined reference to `smbcli_ftruncate' /home/mtanski/src/fio/engines/cifs.c:288: undefined reference to `nt_errstr' /home/mtanski/src/fio/engines/cifs.c:288: undefined reference to `get_friendly_nt_error_msg' /home/mtanski/src/fio/engines/cifs.c:273: undefined reference to `nt_errstr' /home/mtanski/src/fio/engines/cifs.c:273: undefined reference to `get_friendly_nt_error_msg' engines/cifs.o: In function `fio_cifs_close_file': /home/mtanski/src/fio/engines/cifs.c:192: undefined reference to `smbcli_close' /home/mtanski/src/fio/engines/cifs.c:195: undefined reference to `nt_errstr' /home/mtanski/src/fio/engines/cifs.c:195: undefined reference to `get_friendly_nt_error_msg' engines/cifs.o: In function `fio_cifs_unlink_file': /home/mtanski/src/fio/engines/cifs.c:213: undefined reference to `smbcli_unlink' /home/mtanski/src/fio/engines/cifs.c:216: undefined reference to `nt_errstr' /home/mtanski/src/fio/engines/cifs.c:216: undefined reference to `get_friendly_nt_error_msg' engines/cifs.o: In function `fio_cifs_get_file_size': /home/mtanski/src/fio/engines/cifs.c:238: undefined reference to `smbcli_getattrE' /home/mtanski/src/fio/engines/cifs.c:242: undefined reference to `nt_errstr' /home/mtanski/src/fio/engines/cifs.c:242: undefined reference to `get_friendly_nt_error_msg' engines/cifs.o: In function `fio_cifs_cleanup': /home/mtanski/src/fio/engines/cifs.c:145: undefined reference to `_talloc_free' collect2: error: ld returned 1 exit status -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: milosz@adfin.com -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steve French Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Fri, 23 Jan 2015 17:15:16 -0600 Message-ID: References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: Volker Lendecke , Jens Axboe , James Bottomley , Jeremy Allison , Jan Kara , Christoph Hellwig , linux-mm , "linux-fsdevel@vger.kernel.org" , "lsf-pc@lists.linux-foundation.org" To: Milosz Tanski Return-path: Received: from mail-qg0-f48.google.com ([209.85.192.48]:48441 "EHLO mail-qg0-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751395AbbAWXPh (ORCPT ); Fri, 23 Jan 2015 18:15:37 -0500 Received: by mail-qg0-f48.google.com with SMTP id z60so152015qgd.7 for ; Fri, 23 Jan 2015 15:15:36 -0800 (PST) In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Mon, Jan 19, 2015 at 10:20 AM, Milosz Tanski wrote: > On Mon, Jan 19, 2015 at 11:10 AM, Volker Lendecke > wrote: >> On Mon, Jan 19, 2015 at 08:31:27AM -0700, Jens Axboe wrote: >>> I didn't look at your code yet, but I'm assuming it's a self >>> contained IO engine. So we should be able to make that work, by only >>> linking the engine itself against libsmbclient. But sheesh, what a >>> pain in the butt, why can't we just all be friends. >> >> The published libsmbclient API misses the async features >> that are needed here. Milosz needs to go lower-level. >> >> Volker > > Volker, the sync code path works; in fact I pushed some minor > corrections to my branch this morning. And for now using FIO I can > generate multiple clients (threads / processes). > > I started working on the async features (SMB2 async read/write) for > client library the samba repo. There's a patch there for the first > step of it it there; see the other email I sent to you and Jeremy. I > was going to make sure it licensed under whatever it needs to get into > the samba repo... and since this is done on my own time I personally > don't care what license it's under provided it's not a PITA. Why not do the async read/write via the kernel client if the license is an issue? It already has async SMB2/SMB3 operations (with a synchronous send/receive-like wrapper). -- Thanks, Steve From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Axboe Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Fri, 23 Jan 2015 19:17:05 -0700 Message-ID: <54C300A1.7040202@kernel.dk> References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Volker Lendecke , James Bottomley , Jeremy Allison , Jan Kara , Christoph Hellwig , linux-mm , "linux-fsdevel@vger.kernel.org" , "lsf-pc@lists.linux-foundation.org" To: Steve French , Milosz Tanski Return-path: Received: from mail-pd0-f169.google.com ([209.85.192.169]:41971 "EHLO mail-pd0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750836AbbAXCRI (ORCPT ); Fri, 23 Jan 2015 21:17:08 -0500 Received: by mail-pd0-f169.google.com with SMTP id g10so1175880pdj.0 for ; Fri, 23 Jan 2015 18:17:07 -0800 (PST) In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On 01/23/2015 04:15 PM, Steve French wrote: > On Mon, Jan 19, 2015 at 10:20 AM, Milosz Tanski wrote: >> On Mon, Jan 19, 2015 at 11:10 AM, Volker Lendecke >> wrote: >>> On Mon, Jan 19, 2015 at 08:31:27AM -0700, Jens Axboe wrote: >>>> I didn't look at your code yet, but I'm assuming it's a self >>>> contained IO engine. So we should be able to make that work, by only >>>> linking the engine itself against libsmbclient. But sheesh, what a >>>> pain in the butt, why can't we just all be friends. >>> >>> The published libsmbclient API misses the async features >>> that are needed here. Milosz needs to go lower-level. >>> >>> Volker >> >> Volker, the sync code path works; in fact I pushed some minor >> corrections to my branch this morning. And for now using FIO I can >> generate multiple clients (threads / processes). >> >> I started working on the async features (SMB2 async read/write) for >> client library the samba repo. There's a patch there for the first >> step of it it there; see the other email I sent to you and Jeremy. I >> was going to make sure it licensed under whatever it needs to get into >> the samba repo... and since this is done on my own time I personally >> don't care what license it's under provided it's not a PITA. > > Why not do the async read/write via the kernel client if the license > is an issue? It already has async SMB2/SMB3 operations > (with a synchronous send/receive-like wrapper). The license issue has been solved. Fio is cross platform, so would be preferable to have this work through libsmbclient, if at all possible. -- Jens Axboe From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Allison Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Fri, 23 Jan 2015 21:53:52 -0800 Message-ID: <20150124055352.GE6636@jeremy-HP> References: <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <54C300A1.7040202@kernel.dk> Reply-To: Jeremy Allison Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Steve French , Milosz Tanski , Volker Lendecke , James Bottomley , Jeremy Allison , Jan Kara , Christoph Hellwig , linux-mm , "linux-fsdevel@vger.kernel.org" , "lsf-pc@lists.linux-foundation.org" To: Jens Axboe Return-path: Received: from fn.samba.org ([216.83.154.106]:45184 "EHLO mail.samba.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752375AbbAXFxo (ORCPT ); Sat, 24 Jan 2015 00:53:44 -0500 Content-Disposition: inline In-Reply-To: <54C300A1.7040202@kernel.dk> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Fri, Jan 23, 2015 at 07:17:05PM -0700, Jens Axboe wrote: > On 01/23/2015 04:15 PM, Steve French wrote: > >On Mon, Jan 19, 2015 at 10:20 AM, Milosz Tanski wrote: > >>On Mon, Jan 19, 2015 at 11:10 AM, Volker Lendecke > >> wrote: > >>>On Mon, Jan 19, 2015 at 08:31:27AM -0700, Jens Axboe wrote: > >>>>I didn't look at your code yet, but I'm assuming it's a self > >>>>contained IO engine. So we should be able to make that work, by only > >>>>linking the engine itself against libsmbclient. But sheesh, what a > >>>>pain in the butt, why can't we just all be friends. > >>> > >>>The published libsmbclient API misses the async features > >>>that are needed here. Milosz needs to go lower-level. > >>> > >>>Volker > >> > >>Volker, the sync code path works; in fact I pushed some minor > >>corrections to my branch this morning. And for now using FIO I can > >>generate multiple clients (threads / processes). > >> > >>I started working on the async features (SMB2 async read/write) for > >>client library the samba repo. There's a patch there for the first > >>step of it it there; see the other email I sent to you and Jeremy. I > >>was going to make sure it licensed under whatever it needs to get into > >>the samba repo... and since this is done on my own time I personally > >>don't care what license it's under provided it's not a PITA. > > > >Why not do the async read/write via the kernel client if the license > >is an issue? It already has async SMB2/SMB3 operations > >(with a synchronous send/receive-like wrapper). > > The license issue has been solved. Fio is cross platform, so would > be preferable to have this work through libsmbclient, if at all > possible. How did the license issue get solved ? Did I miss some email on that ? From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Axboe Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Date: Sat, 24 Jan 2015 16:00:44 -0700 Message-ID: <54C4241C.9070406@kernel.dk> References: <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <54C300A1.7040202@kernel.dk> <20150124055352.GE6636@jeremy-HP> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: Steve French , Milosz Tanski , Volker Lendecke , James Bottomley , Jan Kara , Christoph Hellwig , linux-mm , "linux-fsdevel@vger.kernel.org" , "lsf-pc@lists.linux-foundation.org" To: Jeremy Allison Return-path: Received: from mail-pa0-f44.google.com ([209.85.220.44]:36783 "EHLO mail-pa0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750956AbbAXXAq (ORCPT ); Sat, 24 Jan 2015 18:00:46 -0500 Received: by mail-pa0-f44.google.com with SMTP id rd3so4332424pab.3 for ; Sat, 24 Jan 2015 15:00:45 -0800 (PST) In-Reply-To: <20150124055352.GE6636@jeremy-HP> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On 01/23/2015 10:53 PM, Jeremy Allison wrote: > On Fri, Jan 23, 2015 at 07:17:05PM -0700, Jens Axboe wrote: >> On 01/23/2015 04:15 PM, Steve French wrote: >>> On Mon, Jan 19, 2015 at 10:20 AM, Milosz Tanski wrote: >>>> On Mon, Jan 19, 2015 at 11:10 AM, Volker Lendecke >>>> wrote: >>>>> On Mon, Jan 19, 2015 at 08:31:27AM -0700, Jens Axboe wrote: >>>>>> I didn't look at your code yet, but I'm assuming it's a self >>>>>> contained IO engine. So we should be able to make that work, by only >>>>>> linking the engine itself against libsmbclient. But sheesh, what a >>>>>> pain in the butt, why can't we just all be friends. >>>>> >>>>> The published libsmbclient API misses the async features >>>>> that are needed here. Milosz needs to go lower-level. >>>>> >>>>> Volker >>>> >>>> Volker, the sync code path works; in fact I pushed some minor >>>> corrections to my branch this morning. And for now using FIO I can >>>> generate multiple clients (threads / processes). >>>> >>>> I started working on the async features (SMB2 async read/write) for >>>> client library the samba repo. There's a patch there for the first >>>> step of it it there; see the other email I sent to you and Jeremy. I >>>> was going to make sure it licensed under whatever it needs to get into >>>> the samba repo... and since this is done on my own time I personally >>>> don't care what license it's under provided it's not a PITA. >>> >>> Why not do the async read/write via the kernel client if the license >>> is an issue? It already has async SMB2/SMB3 operations >>> (with a synchronous send/receive-like wrapper). >> >> The license issue has been solved. Fio is cross platform, so would >> be preferable to have this work through libsmbclient, if at all >> possible. > > How did the license issue get solved ? Did I miss some email > on that ? Only the cifs engine is linked with libsmbclient, so that particular engine can be licensed as v2 or later (or v3, u to Milosz). -- Jens Axboe From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qc0-f175.google.com (mail-qc0-f175.google.com [209.85.216.175]) by kanga.kvack.org (Postfix) with ESMTP id 07BB46B0032 for ; Thu, 15 Jan 2015 13:30:36 -0500 (EST) Received: by mail-qc0-f175.google.com with SMTP id p6so13549696qcv.6 for ; Thu, 15 Jan 2015 10:30:35 -0800 (PST) Received: from mx1.redhat.com (mx1.redhat.com. [209.132.183.28]) by mx.google.com with ESMTPS id p19si2990434qgd.27.2015.01.15.10.30.34 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Jan 2015 10:30:35 -0800 (PST) From: Jeff Moyer Subject: Re: [LSF/MM TOPIC] async buffered diskio read for userspace apps References: Date: Thu, 15 Jan 2015 13:30:05 -0500 In-Reply-To: (Milosz Tanski's message of "Thu, 15 Jan 2015 12:43:23 -0500") Message-ID: MIME-Version: 1.0 Content-Type: text/plain Sender: owner-linux-mm@kvack.org List-ID: To: Milosz Tanski Cc: lsf-pc@lists.linux-foundation.org, "linux-fsdevel@vger.kernel.org" , linux-mm@kvack.org, Christoph Hellwig Milosz Tanski writes: > I would like to talk about enhancing the user interfaces for doing > async buffered disk IO for userspace applications. There's a whole > class of distributed web applications (most new applications today) > that would benefit from such an API. Most of them today rely on > cobbling one together in user space using a threadpool. > > The current in kernel AIO interfaces that only support DIRECTIO, they > were generally designed by and for big database vendors. The consensus > is that the current AIO interfaces usually lead to decreased > performance for those app. > > I've been developing a new read syscall that allows non-blocking > diskio read (provided that data is in the page cache). It's analogous > to what exists today in the network world with recvmsg with MSG_NOWAIT > flag. The work has been previously described by LWN here: > https://lwn.net/Articles/612483/ > > Previous attempts (over the last 12+ years) at non-blocking buffered > diskio has stalled due to their complexity. I would like to talk about > the problem, my solution, and get feedback on the course of action. This email seems to conflate async I/O and non-blocking I/O. Could you please be more specific about what you're proposing to talk about? Is it just the non-blocking read support? Cheers, Jeff -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f47.google.com (mail-pa0-f47.google.com [209.85.220.47]) by kanga.kvack.org (Postfix) with ESMTP id 1674C6B0032 for ; Fri, 16 Jan 2015 11:55:11 -0500 (EST) Received: by mail-pa0-f47.google.com with SMTP id kq14so25281308pab.6 for ; Fri, 16 Jan 2015 08:55:10 -0800 (PST) Received: from mail.samba.org (fn.samba.org. [2001:470:1f05:1a07::1]) by mx.google.com with ESMTPS id dt7si6173707pdb.77.2015.01.16.08.55.08 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Fri, 16 Jan 2015 08:55:09 -0800 (PST) Date: Fri, 16 Jan 2015 08:55:06 -0800 From: Jeremy Allison Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Message-ID: <20150116165506.GA10856@samba2> Reply-To: Jeremy Allison References: <20150115223157.GB25884@quack.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: owner-linux-mm@kvack.org List-ID: To: Milosz Tanski Cc: Jan Kara , lsf-pc@lists.linux-foundation.org, "linux-fsdevel@vger.kernel.org" , linux-mm@kvack.org, Christoph Hellwig On Fri, Jan 16, 2015 at 10:44:12AM -0500, Milosz Tanski wrote: > On Thu, Jan 15, 2015 at 5:31 PM, Jan Kara wrote: > > On Thu 15-01-15 12:43:23, Milosz Tanski wrote: > >> I would like to talk about enhancing the user interfaces for doing > >> async buffered disk IO for userspace applications. There's a whole > >> class of distributed web applications (most new applications today) > >> that would benefit from such an API. Most of them today rely on > >> cobbling one together in user space using a threadpool. > >> > >> The current in kernel AIO interfaces that only support DIRECTIO, they > >> were generally designed by and for big database vendors. The consensus > >> is that the current AIO interfaces usually lead to decreased > >> performance for those app. > >> > >> I've been developing a new read syscall that allows non-blocking > >> diskio read (provided that data is in the page cache). It's analogous > >> to what exists today in the network world with recvmsg with MSG_NOWAIT > >> flag. The work has been previously described by LWN here: > >> https://lwn.net/Articles/612483/ > >> > >> Previous attempts (over the last 12+ years) at non-blocking buffered > >> diskio has stalled due to their complexity. I would like to talk about > >> the problem, my solution, and get feedback on the course of action. > >> > >> Over the years I've been building the low level guys of various "web > >> applications". That usually involves async network based applications > >> (epoll based servers) and the biggest pain point for the last 8+ years > >> has been async disk IO. > > Maybe this topic will be sorted out before LSF/MM. I know Andrew had some > > objections about doc and was suggesting a solution using fincore() (which > > Christoph refuted as being racy). Also there was a pending question > > regarding whether the async read in this form will be used by applications. > > But if it doesn't get sorted out a short session on the pending issues > > would be probably useful. > > > > Honza > > -- > > Jan Kara > > SUSE Labs, CR > > I've spent the better part of yesterday wrapping up the first cut of > samba support to FIO so we can test a modified samba file server with > these changes in a few scenarios. Right now it's only sync but I hope > to have async in the future. I hope that by the time the summit rolls > around I'll have data to share from samba and maybe some other common > apps (node.js / twisted). Don't forget to share the code changes :-). We @ Samba would love to see them to keep track ! -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pd0-f181.google.com (mail-pd0-f181.google.com [209.85.192.181]) by kanga.kvack.org (Postfix) with ESMTP id 28B436B0032 for ; Mon, 19 Jan 2015 02:12:18 -0500 (EST) Received: by mail-pd0-f181.google.com with SMTP id g10so1862526pdj.12 for ; Sun, 18 Jan 2015 23:12:17 -0800 (PST) Received: from mail.samba.org (fn.samba.org. [2001:470:1f05:1a07::1]) by mx.google.com with ESMTPS id nm9si14655755pbc.221.2015.01.18.23.12.15 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Sun, 18 Jan 2015 23:12:16 -0800 (PST) Date: Sun, 18 Jan 2015 23:12:18 -0800 From: Jeremy Allison Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Message-ID: <20150119071218.GA9747@jeremy-HP> Reply-To: Jeremy Allison References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: owner-linux-mm@kvack.org List-ID: To: Milosz Tanski Cc: Jeremy Allison , Jan Kara , lsf-pc@lists.linux-foundation.org, "linux-fsdevel@vger.kernel.org" , linux-mm@kvack.org, Christoph Hellwig , Volker Lendecke , Jens Axboe On Sun, Jan 18, 2015 at 10:49:36PM -0500, Milosz Tanski wrote: > > I have the first version of the FIO cifs support via samba in my fork > of FIO here: https://github.com/mtanski/fio/tree/samba > > Right now it only supports sync mode of FIO (eg. can't submit multiple > outstanding requests) but I'm looking into how to make it work with > smb2 read/write calls with the async flag. > > Additionally, I'm sure I'm doing some things not quite right in terms > of smbcli usage as it was a decent amount of trial and error to get it > to connect (esp. the setup before smbcli_full_connection). Finally, it > looks like the more complex api I'm using (as opposed to smbclient, > because I want the async calls) doesn't quite fully export all calls I > need via headers / public dyn libs so it's a bit of a hack to get it > to build: https://github.com/mtanski/fio/commit/7fd35359259b409ed023b924cb2758e9efb9950c#diff-1 > > But it works for my randread tests with zipf and the great part is > that it should provide a flexible way to test samba with many fake > clients and access patterns. So... progress. One problem here. Looks like fio is under GPLv2-only, is that correct ? If so there's no way to combine the two codebases, as Samba is under GPLv3-or-later with parts under LGPLv3-or-later. fio needs to be GPLv2-or-later in order to be able to use with libsmbclient. Cheers, Jeremy. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f52.google.com (mail-pa0-f52.google.com [209.85.220.52]) by kanga.kvack.org (Postfix) with ESMTP id 406F56B0032 for ; Mon, 19 Jan 2015 02:34:14 -0500 (EST) Received: by mail-pa0-f52.google.com with SMTP id kx10so6504511pab.11 for ; Sun, 18 Jan 2015 23:34:14 -0800 (PST) Received: from bedivere.hansenpartnership.com (bedivere.hansenpartnership.com. [66.63.167.143]) by mx.google.com with ESMTP id fn10si14972728pab.65.2015.01.18.23.34.12 for ; Sun, 18 Jan 2015 23:34:12 -0800 (PST) Message-ID: <1421652849.2080.20.camel@HansenPartnership.com> Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps From: James Bottomley Date: Sun, 18 Jan 2015 23:34:09 -0800 In-Reply-To: <20150119071218.GA9747@jeremy-HP> References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Jeremy Allison Cc: Milosz Tanski , Jens Axboe , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org On Sun, 2015-01-18 at 23:12 -0800, Jeremy Allison wrote: > On Sun, Jan 18, 2015 at 10:49:36PM -0500, Milosz Tanski wrote: > > > > I have the first version of the FIO cifs support via samba in my fork > > of FIO here: https://github.com/mtanski/fio/tree/samba > > > > Right now it only supports sync mode of FIO (eg. can't submit multiple > > outstanding requests) but I'm looking into how to make it work with > > smb2 read/write calls with the async flag. > > > > Additionally, I'm sure I'm doing some things not quite right in terms > > of smbcli usage as it was a decent amount of trial and error to get it > > to connect (esp. the setup before smbcli_full_connection). Finally, it > > looks like the more complex api I'm using (as opposed to smbclient, > > because I want the async calls) doesn't quite fully export all calls I > > need via headers / public dyn libs so it's a bit of a hack to get it > > to build: https://github.com/mtanski/fio/commit/7fd35359259b409ed023b924cb2758e9efb9950c#diff-1 > > > > But it works for my randread tests with zipf and the great part is > > that it should provide a flexible way to test samba with many fake > > clients and access patterns. So... progress. > > One problem here. Looks like fio is under GPLv2-only, > is that correct ? Seems so from the LICENSE file. > If so there's no way to combine the two codebases, > as Samba is under GPLv3-or-later with parts under LGPLv3-or-later. > > fio needs to be GPLv2-or-later in order to be > able to use with libsmbclient. That's one of these pointless licensing complexities that annoy distributions so much ... they're both open source, so there's no real problem except the licence incompatibility. The usual way out of it is just to dual licence the incompatible component. James -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pd0-f174.google.com (mail-pd0-f174.google.com [209.85.192.174]) by kanga.kvack.org (Postfix) with ESMTP id D1D946B0032 for ; Mon, 19 Jan 2015 10:31:43 -0500 (EST) Received: by mail-pd0-f174.google.com with SMTP id ft15so7991770pdb.5 for ; Mon, 19 Jan 2015 07:31:43 -0800 (PST) Received: from mail-pd0-f182.google.com (mail-pd0-f182.google.com. [209.85.192.182]) by mx.google.com with ESMTPS id kd3si389961pbc.233.2015.01.19.07.31.40 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 19 Jan 2015 07:31:41 -0800 (PST) Received: by mail-pd0-f182.google.com with SMTP id y10so25771312pdj.13 for ; Mon, 19 Jan 2015 07:31:40 -0800 (PST) Message-ID: <54BD234F.3060203@kernel.dk> Date: Mon, 19 Jan 2015 08:31:27 -0700 From: Jens Axboe MIME-Version: 1.0 Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Milosz Tanski , James Bottomley Cc: Jeremy Allison , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org On 01/19/2015 07:18 AM, Milosz Tanski wrote: > On Mon, Jan 19, 2015 at 2:34 AM, James Bottomley > wrote: >> On Sun, 2015-01-18 at 23:12 -0800, Jeremy Allison wrote: >>> On Sun, Jan 18, 2015 at 10:49:36PM -0500, Milosz Tanski wrote: >>>> >>>> I have the first version of the FIO cifs support via samba in my fork >>>> of FIO here: https://github.com/mtanski/fio/tree/samba >>>> >>>> Right now it only supports sync mode of FIO (eg. can't submit multiple >>>> outstanding requests) but I'm looking into how to make it work with >>>> smb2 read/write calls with the async flag. >>>> >>>> Additionally, I'm sure I'm doing some things not quite right in terms >>>> of smbcli usage as it was a decent amount of trial and error to get it >>>> to connect (esp. the setup before smbcli_full_connection). Finally, it >>>> looks like the more complex api I'm using (as opposed to smbclient, >>>> because I want the async calls) doesn't quite fully export all calls I >>>> need via headers / public dyn libs so it's a bit of a hack to get it >>>> to build: https://github.com/mtanski/fio/commit/7fd35359259b409ed023b924cb2758e9efb9950c#diff-1 >>>> >>>> But it works for my randread tests with zipf and the great part is >>>> that it should provide a flexible way to test samba with many fake >>>> clients and access patterns. So... progress. >>> >>> One problem here. Looks like fio is under GPLv2-only, >>> is that correct ? >> >> Seems so from the LICENSE file. >> >>> If so there's no way to combine the two codebases, >>> as Samba is under GPLv3-or-later with parts under LGPLv3-or-later. >>> >>> fio needs to be GPLv2-or-later in order to be >>> able to use with libsmbclient. >> >> That's one of these pointless licensing complexities that annoy >> distributions so much ... they're both open source, so there's no real >> problem except the licence incompatibility. The usual way out of it is >> just to dual licence the incompatible component. >> >> James >> >> > > Sadly, in this case there's nothing I can do about the license; both > projects have a right to determine their own licensing. Hopefully, the > parties can come to some kind of agreement since it would be > beneficial to use fio to test samba. > > This works well enough for me to test test preadv2 using samba and get > numbers. So I'll use this to do some preadv2 testing using samba for > different workloads. I didn't look at your code yet, but I'm assuming it's a self contained IO engine. So we should be able to make that work, by only linking the engine itself against libsmbclient. But sheesh, what a pain in the butt, why can't we just all be friends. So don't worry about licensing for now, just work on improving the engine and we'll sort the non-technical details out. -- Jens Axboe -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f48.google.com (mail-pa0-f48.google.com [209.85.220.48]) by kanga.kvack.org (Postfix) with ESMTP id B83FE6B0032 for ; Mon, 19 Jan 2015 10:49:45 -0500 (EST) Received: by mail-pa0-f48.google.com with SMTP id rd3so39541663pab.7 for ; Mon, 19 Jan 2015 07:49:45 -0800 (PST) Received: from bedivere.hansenpartnership.com (bedivere.hansenpartnership.com. [66.63.167.143]) by mx.google.com with ESMTP id kt6si839763pbc.47.2015.01.19.07.49.43 for ; Mon, 19 Jan 2015 07:49:44 -0800 (PST) Message-ID: <1421682581.2080.22.camel@HansenPartnership.com> Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps From: James Bottomley Date: Mon, 19 Jan 2015 07:49:41 -0800 In-Reply-To: <54BD234F.3060203@kernel.dk> References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Jens Axboe Cc: Milosz Tanski , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org, Jeremy Allison On Mon, 2015-01-19 at 08:31 -0700, Jens Axboe wrote: > On 01/19/2015 07:18 AM, Milosz Tanski wrote: > > On Mon, Jan 19, 2015 at 2:34 AM, James Bottomley > > wrote: > >> On Sun, 2015-01-18 at 23:12 -0800, Jeremy Allison wrote: > >>> On Sun, Jan 18, 2015 at 10:49:36PM -0500, Milosz Tanski wrote: > >>>> > >>>> I have the first version of the FIO cifs support via samba in my fork > >>>> of FIO here: https://github.com/mtanski/fio/tree/samba > >>>> > >>>> Right now it only supports sync mode of FIO (eg. can't submit multiple > >>>> outstanding requests) but I'm looking into how to make it work with > >>>> smb2 read/write calls with the async flag. > >>>> > >>>> Additionally, I'm sure I'm doing some things not quite right in terms > >>>> of smbcli usage as it was a decent amount of trial and error to get it > >>>> to connect (esp. the setup before smbcli_full_connection). Finally, it > >>>> looks like the more complex api I'm using (as opposed to smbclient, > >>>> because I want the async calls) doesn't quite fully export all calls I > >>>> need via headers / public dyn libs so it's a bit of a hack to get it > >>>> to build: https://github.com/mtanski/fio/commit/7fd35359259b409ed023b924cb2758e9efb9950c#diff-1 > >>>> > >>>> But it works for my randread tests with zipf and the great part is > >>>> that it should provide a flexible way to test samba with many fake > >>>> clients and access patterns. So... progress. > >>> > >>> One problem here. Looks like fio is under GPLv2-only, > >>> is that correct ? > >> > >> Seems so from the LICENSE file. > >> > >>> If so there's no way to combine the two codebases, > >>> as Samba is under GPLv3-or-later with parts under LGPLv3-or-later. > >>> > >>> fio needs to be GPLv2-or-later in order to be > >>> able to use with libsmbclient. > >> > >> That's one of these pointless licensing complexities that annoy > >> distributions so much ... they're both open source, so there's no real > >> problem except the licence incompatibility. The usual way out of it is > >> just to dual licence the incompatible component. > >> > >> James > >> > >> > > > > Sadly, in this case there's nothing I can do about the license; both > > projects have a right to determine their own licensing. Hopefully, the > > parties can come to some kind of agreement since it would be > > beneficial to use fio to test samba. > > > > This works well enough for me to test test preadv2 using samba and get > > numbers. So I'll use this to do some preadv2 testing using samba for > > different workloads. > > I didn't look at your code yet, but I'm assuming it's a self contained > IO engine. So we should be able to make that work, by only linking the > engine itself against libsmbclient. But sheesh, what a pain in the butt, > why can't we just all be friends. > > So don't worry about licensing for now, just work on improving the > engine and we'll sort the non-technical details out. For fio, it likely doesn't matter. Most people download the repository and compile it themselves when building the tool. In that case, there's no licence violation anyway (all GPL issues, including technical licence incompatibility, manifest on distribution not on use). It is a problem for the distributors, but they're well used to these type of self inflicted wounds. James -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wg0-f47.google.com (mail-wg0-f47.google.com [74.125.82.47]) by kanga.kvack.org (Postfix) with ESMTP id D6EAF6B0032 for ; Mon, 19 Jan 2015 11:10:33 -0500 (EST) Received: by mail-wg0-f47.google.com with SMTP id n12so2510161wgh.6 for ; Mon, 19 Jan 2015 08:10:33 -0800 (PST) Received: from mail.SerNet.de (mail.SerNet.de. [193.175.80.2]) by mx.google.com with ESMTPS id wo6si26718070wjc.129.2015.01.19.08.10.32 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Mon, 19 Jan 2015 08:10:32 -0800 (PST) Date: Mon, 19 Jan 2015 17:10:03 +0100 From: Volker Lendecke Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Reply-To: Volker.Lendecke@SerNet.DE References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <54BD234F.3060203@kernel.dk> Message-Id: Sender: owner-linux-mm@kvack.org List-ID: To: Jens Axboe Cc: Milosz Tanski , James Bottomley , Jeremy Allison , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org On Mon, Jan 19, 2015 at 08:31:27AM -0700, Jens Axboe wrote: > I didn't look at your code yet, but I'm assuming it's a self > contained IO engine. So we should be able to make that work, by only > linking the engine itself against libsmbclient. But sheesh, what a > pain in the butt, why can't we just all be friends. The published libsmbclient API misses the async features that are needed here. Milosz needs to go lower-level. Volker -- SerNet GmbH, Bahnhofsallee 1b, 37081 Gottingen phone: +49-551-370000-0, fax: +49-551-370000-9 AG Gottingen, HRB 2816, GF: Dr. Johannes Loxen http://www.sernet.de, mailto:kontakt@sernet.de -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lb0-f170.google.com (mail-lb0-f170.google.com [209.85.217.170]) by kanga.kvack.org (Postfix) with ESMTP id B627D6B0032 for ; Mon, 19 Jan 2015 11:26:16 -0500 (EST) Received: by mail-lb0-f170.google.com with SMTP id 10so28937520lbg.1 for ; Mon, 19 Jan 2015 08:26:16 -0800 (PST) Received: from mail-lb0-f173.google.com (mail-lb0-f173.google.com. [209.85.217.173]) by mx.google.com with ESMTPS id aa1si12422470lbc.24.2015.01.19.08.20.50 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 19 Jan 2015 08:20:50 -0800 (PST) Received: by mail-lb0-f173.google.com with SMTP id p9so5775258lbv.4 for ; Mon, 19 Jan 2015 08:20:50 -0800 (PST) MIME-Version: 1.0 In-Reply-To: References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> Date: Mon, 19 Jan 2015 11:20:50 -0500 Message-ID: Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps From: Milosz Tanski Content-Type: text/plain; charset=UTF-8 Sender: owner-linux-mm@kvack.org List-ID: To: Volker Lendecke Cc: Jens Axboe , James Bottomley , Jeremy Allison , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org On Mon, Jan 19, 2015 at 11:10 AM, Volker Lendecke wrote: > On Mon, Jan 19, 2015 at 08:31:27AM -0700, Jens Axboe wrote: >> I didn't look at your code yet, but I'm assuming it's a self >> contained IO engine. So we should be able to make that work, by only >> linking the engine itself against libsmbclient. But sheesh, what a >> pain in the butt, why can't we just all be friends. > > The published libsmbclient API misses the async features > that are needed here. Milosz needs to go lower-level. > > Volker Volker, the sync code path works; in fact I pushed some minor corrections to my branch this morning. And for now using FIO I can generate multiple clients (threads / processes). I started working on the async features (SMB2 async read/write) for client library the samba repo. There's a patch there for the first step of it it there; see the other email I sent to you and Jeremy. I was going to make sure it licensed under whatever it needs to get into the samba repo... and since this is done on my own time I personally don't care what license it's under provided it's not a PITA. -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: milosz@adfin.com -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f47.google.com (mail-pa0-f47.google.com [209.85.220.47]) by kanga.kvack.org (Postfix) with ESMTP id E926F6B0032 for ; Mon, 19 Jan 2015 11:48:56 -0500 (EST) Received: by mail-pa0-f47.google.com with SMTP id kq14so39814359pab.6 for ; Mon, 19 Jan 2015 08:48:56 -0800 (PST) Received: from mail.samba.org (fn.samba.org. [2001:470:1f05:1a07::1]) by mx.google.com with ESMTPS id qf1si1094585pab.192.2015.01.19.08.48.53 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Mon, 19 Jan 2015 08:48:54 -0800 (PST) Date: Mon, 19 Jan 2015 08:48:57 -0800 From: Jeremy Allison Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Message-ID: <20150119164857.GC12308@jeremy-HP> Reply-To: Jeremy Allison References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <1421682581.2080.22.camel@HansenPartnership.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1421682581.2080.22.camel@HansenPartnership.com> Sender: owner-linux-mm@kvack.org List-ID: To: James Bottomley Cc: Jens Axboe , Milosz Tanski , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org, Jeremy Allison On Mon, Jan 19, 2015 at 07:49:41AM -0800, James Bottomley wrote: > > For fio, it likely doesn't matter. Most people download the repository > and compile it themselves when building the tool. In that case, there's > no licence violation anyway (all GPL issues, including technical licence > incompatibility, manifest on distribution not on use). It is a problem > for the distributors, but they're well used to these type of self > inflicted wounds. That's true, but it is setting a bear-trap for distributors. Might be better to keep the code repositories separate so at lease people have a *chance* of noticing there's a problem here. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f54.google.com (mail-pa0-f54.google.com [209.85.220.54]) by kanga.kvack.org (Postfix) with ESMTP id 76E066B0032 for ; Mon, 19 Jan 2015 11:50:28 -0500 (EST) Received: by mail-pa0-f54.google.com with SMTP id eu11so5444086pac.13 for ; Mon, 19 Jan 2015 08:50:28 -0800 (PST) Received: from mail.samba.org (fn.samba.org. [2001:470:1f05:1a07::1]) by mx.google.com with ESMTPS id bd4si1395566pad.46.2015.01.19.08.50.26 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Mon, 19 Jan 2015 08:50:27 -0800 (PST) Date: Mon, 19 Jan 2015 08:50:30 -0800 From: Jeremy Allison Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Message-ID: <20150119165030.GD12308@jeremy-HP> Reply-To: Jeremy Allison References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: owner-linux-mm@kvack.org List-ID: To: Milosz Tanski Cc: Volker Lendecke , Jens Axboe , James Bottomley , Jeremy Allison , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org On Mon, Jan 19, 2015 at 11:20:50AM -0500, Milosz Tanski wrote: > > Volker, the sync code path works; in fact I pushed some minor > corrections to my branch this morning. And for now using FIO I can > generate multiple clients (threads / processes). > > I started working on the async features (SMB2 async read/write) for > client library the samba repo. There's a patch there for the first > step of it it there; see the other email I sent to you and Jeremy. I > was going to make sure it licensed under whatever it needs to get into > the samba repo... and since this is done on my own time I personally > don't care what license it's under provided it's not a PITA. Anything going into Samba would need to be permissively licensed (MIT/BSD) or GPLv3+ or LGPLv3+. We'd prefer the latter, but we're happy with either. The one thing it *can't* be though, is GPLv2-only. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f41.google.com (mail-pa0-f41.google.com [209.85.220.41]) by kanga.kvack.org (Postfix) with ESMTP id 7EB516B0032 for ; Mon, 19 Jan 2015 12:04:27 -0500 (EST) Received: by mail-pa0-f41.google.com with SMTP id rd3so39905117pab.0 for ; Mon, 19 Jan 2015 09:04:27 -0800 (PST) Received: from mail.samba.org (fn.samba.org. [2001:470:1f05:1a07::1]) by mx.google.com with ESMTPS id gt6si1127281pac.204.2015.01.19.09.04.25 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Mon, 19 Jan 2015 09:04:26 -0800 (PST) Date: Mon, 19 Jan 2015 09:04:29 -0800 From: Jeremy Allison Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Message-ID: <20150119170429.GA13160@jeremy-HP> Reply-To: Jeremy Allison References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: owner-linux-mm@kvack.org List-ID: To: Milosz Tanski Cc: James Bottomley , Jeremy Allison , Jens Axboe , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org On Mon, Jan 19, 2015 at 2:34 AM, James Bottomley wrote: > > That's one of these pointless licensing complexities that annoy > distributions so much ... they're both open source, so there's no real > problem except the licence incompatibility. The usual way out of it is > just to dual licence the incompatible component. Just one point here - we're not able to dual license Samba to go back to GPLv2 anything. There are too many contributors to this who have contributed under v3-or-later licensing in order for this to be possible for us. I'm hoping adding the 'or-later' clause to fio might be easier. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pd0-f175.google.com (mail-pd0-f175.google.com [209.85.192.175]) by kanga.kvack.org (Postfix) with ESMTP id B68756B0032 for ; Mon, 19 Jan 2015 12:20:13 -0500 (EST) Received: by mail-pd0-f175.google.com with SMTP id fl12so4704151pdb.6 for ; Mon, 19 Jan 2015 09:20:13 -0800 (PST) Received: from mail.samba.org (fn.samba.org. [2001:470:1f05:1a07::1]) by mx.google.com with ESMTPS id kv14si1541587pab.28.2015.01.19.09.20.11 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Mon, 19 Jan 2015 09:20:12 -0800 (PST) Date: Mon, 19 Jan 2015 09:20:15 -0800 From: Jeremy Allison Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Message-ID: <20150119172015.GA13428@jeremy-HP> Reply-To: Jeremy Allison References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <20150119170429.GA13160@jeremy-HP> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: owner-linux-mm@kvack.org List-ID: To: Richard Sharpe Cc: Jeremy Allison , Milosz Tanski , James Bottomley , Jens Axboe , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org On Mon, Jan 19, 2015 at 09:18:14AM -0800, Richard Sharpe wrote: > On Mon, Jan 19, 2015 at 9:04 AM, Jeremy Allison wrote: > > On Mon, Jan 19, 2015 at 2:34 AM, James Bottomley > > wrote: > >> > >> That's one of these pointless licensing complexities that annoy > >> distributions so much ... they're both open source, so there's no real > >> problem except the licence incompatibility. The usual way out of it is > >> just to dual licence the incompatible component. > > > > Just one point here - we're not able to dual license > > Samba to go back to GPLv2 anything. There are too many > > contributors to this who have contributed under v3-or-later > > licensing in order for this to be possible for us. > > > > I'm hoping adding the 'or-later' clause to fio might > > be easier. > > As someone who has worked for companies that distribute Samba for > quite a while I cannot see us distributing fio. Rather, we would use > it as a performance testing tool. > > That being the case, the license differences are not a problem. > > Am I missing something here? No, it's only a problem for distributors, so it's much less of a problem than it might be. But it's still a problem I'd rather not have to think about :-). -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pd0-f180.google.com (mail-pd0-f180.google.com [209.85.192.180]) by kanga.kvack.org (Postfix) with ESMTP id DD5516B0032 for ; Mon, 19 Jan 2015 12:26:58 -0500 (EST) Received: by mail-pd0-f180.google.com with SMTP id ft15so8480591pdb.11 for ; Mon, 19 Jan 2015 09:26:58 -0800 (PST) Received: from bedivere.hansenpartnership.com (bedivere.hansenpartnership.com. [66.63.167.143]) by mx.google.com with ESMTP id t3si17163143pdc.177.2015.01.19.09.26.56 for ; Mon, 19 Jan 2015 09:26:57 -0800 (PST) Message-ID: <1421688414.2080.38.camel@HansenPartnership.com> Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps From: James Bottomley Date: Mon, 19 Jan 2015 09:26:54 -0800 In-Reply-To: <20150119164857.GC12308@jeremy-HP> References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <1421682581.2080.22.camel@HansenPartnership.com> <20150119164857.GC12308@jeremy-HP> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Jeremy Allison Cc: Jens Axboe , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, Milosz Tanski , "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org On Mon, 2015-01-19 at 08:48 -0800, Jeremy Allison wrote: > On Mon, Jan 19, 2015 at 07:49:41AM -0800, James Bottomley wrote: > > > > For fio, it likely doesn't matter. Most people download the repository > > and compile it themselves when building the tool. In that case, there's > > no licence violation anyway (all GPL issues, including technical licence > > incompatibility, manifest on distribution not on use). It is a problem > > for the distributors, but they're well used to these type of self > > inflicted wounds. > > That's true, but it is setting a bear-trap for distributors. It's hardly a bear trap ... this type of annoyance is what they're used to. Some even just ignore it on the grounds of no harm no foul. The first thing they'll ask when they notice is for the protagonists to dual licence. > Might be better to keep the code repositories separate so at > lease people have a *chance* of noticing there's a problem > here. Actually, it might be better to *resolve* the problem before people notice ... if the combination is considered useful, of course. James -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f47.google.com (mail-pa0-f47.google.com [209.85.220.47]) by kanga.kvack.org (Postfix) with ESMTP id 8EE7A6B0032 for ; Mon, 19 Jan 2015 15:00:45 -0500 (EST) Received: by mail-pa0-f47.google.com with SMTP id kq14so40701851pab.6 for ; Mon, 19 Jan 2015 12:00:45 -0800 (PST) Received: from mail-pd0-f174.google.com (mail-pd0-f174.google.com. [209.85.192.174]) by mx.google.com with ESMTPS id i4si546093pdj.216.2015.01.19.12.00.42 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 19 Jan 2015 12:00:43 -0800 (PST) Received: by mail-pd0-f174.google.com with SMTP id ft15so9143412pdb.5 for ; Mon, 19 Jan 2015 12:00:42 -0800 (PST) Message-ID: <54BD6267.1090106@kernel.dk> Date: Mon, 19 Jan 2015 13:00:39 -0700 From: Jens Axboe MIME-Version: 1.0 Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <1421682581.2080.22.camel@HansenPartnership.com> <20150119164857.GC12308@jeremy-HP> In-Reply-To: <20150119164857.GC12308@jeremy-HP> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Jeremy Allison , James Bottomley Cc: Milosz Tanski , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org On 01/19/2015 09:48 AM, Jeremy Allison wrote: > On Mon, Jan 19, 2015 at 07:49:41AM -0800, James Bottomley wrote: >> >> For fio, it likely doesn't matter. Most people download the repository >> and compile it themselves when building the tool. In that case, there's >> no licence violation anyway (all GPL issues, including technical licence >> incompatibility, manifest on distribution not on use). It is a problem >> for the distributors, but they're well used to these type of self >> inflicted wounds. > > That's true, but it is setting a bear-trap for distributors. But not unique. Most distros are behind on fio anyway, so most people do end up compiling on their own. > Might be better to keep the code repositories separate so at > lease people have a *chance* of noticing there's a problem > here. But that's a pain for users, I'd much rather include it and let the distro sort it. They can just add --disable-smb or something to their configure scripts. -- Jens Axboe -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f48.google.com (mail-pa0-f48.google.com [209.85.220.48]) by kanga.kvack.org (Postfix) with ESMTP id 17AFF6B0032 for ; Tue, 20 Jan 2015 14:33:28 -0500 (EST) Received: by mail-pa0-f48.google.com with SMTP id rd3so47639783pab.7 for ; Tue, 20 Jan 2015 11:33:27 -0800 (PST) Received: from mail-pd0-f180.google.com (mail-pd0-f180.google.com. [209.85.192.180]) by mx.google.com with ESMTPS id oh2si1131537pdb.122.2015.01.20.11.33.24 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 20 Jan 2015 11:33:25 -0800 (PST) Received: by mail-pd0-f180.google.com with SMTP id ft15so15638561pdb.11 for ; Tue, 20 Jan 2015 11:33:24 -0800 (PST) Message-ID: <54BEAD82.3070501@kernel.dk> Date: Tue, 20 Jan 2015 12:33:22 -0700 From: Jens Axboe MIME-Version: 1.0 Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> In-Reply-To: <54BD234F.3060203@kernel.dk> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Milosz Tanski , James Bottomley Cc: Jeremy Allison , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org On 01/19/2015 08:31 AM, Jens Axboe wrote: > I didn't look at your code yet, but I'm assuming it's a self contained > IO engine. So we should be able to make that work, by only linking the > engine itself against libsmbclient. But sheesh, what a pain in the butt, > why can't we just all be friends. I pulled it in for testing, and came up with this patch [1]. If you don't do anything, it'll build cifs into fio as before. If you add --cifs-external to the configure arguments, it'll build cifs.so as an externally loadable module. You'd then use: ioengine=/path/to/cifs.so to use that module. I did not add an install target, I'll leave that to distros... Let me know how that works for you. And let me know how far along you are with the cifs engine, I'd like to pull it in. http://git.kernel.dk/?p=fio.git;a=shortlog;h=refs/heads/cifs [1] http://git.kernel.dk/?p=fio.git;a=commit;h=c2c05e33b753ae686e24b43d1034d0c474203729 -- Jens Axboe -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-la0-f51.google.com (mail-la0-f51.google.com [209.85.215.51]) by kanga.kvack.org (Postfix) with ESMTP id 9D3106B0032 for ; Tue, 20 Jan 2015 18:07:53 -0500 (EST) Received: by mail-la0-f51.google.com with SMTP id ge10so16135502lab.10 for ; Tue, 20 Jan 2015 15:07:52 -0800 (PST) Received: from mail-lb0-f178.google.com (mail-lb0-f178.google.com. [209.85.217.178]) by mx.google.com with ESMTPS id ao10si2610967lac.42.2015.01.20.15.07.52 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 20 Jan 2015 15:07:52 -0800 (PST) Received: by mail-lb0-f178.google.com with SMTP id u10so5772468lbd.9 for ; Tue, 20 Jan 2015 15:07:51 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <54BEAD82.3070501@kernel.dk> References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <54BEAD82.3070501@kernel.dk> Date: Tue, 20 Jan 2015 18:07:51 -0500 Message-ID: Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps From: Milosz Tanski Content-Type: text/plain; charset=UTF-8 Sender: owner-linux-mm@kvack.org List-ID: To: Jens Axboe Cc: James Bottomley , Jeremy Allison , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org Great, I'll pull into my branch. I'm already using FIO with the cifs engine to test and help me debug preadv2 changes to smbd and it works without issues for me today. I'm going to work on the async cifs engine but that will take longer because I need to expose build the async SMB2 support into libsmbclient. I'm going to leave that work till after I get further with preadv2 in samba (hopefully this week). I think the biggest issue with the changes is the configure part of my changes (as seen here: http://git.kernel.dk/?p=fio.git;a=blobdiff;f=configure;h=d4502095250cdf5187b24276c327b727d3d87288;hp=33d1327ebbba5b70a001e422bb5ad9b24d7c7b49;hb=7fd35359259b409ed023b924cb2758e9efb9950c;hpb=5fb4b36674b194ae6c6756314dc0c665fcaea06d ). The way samba packages the client libraries beyond just smbclient-raw requiring me to pull in other libraries and then mess with rpath to guess the distro location is far for ideal. I haven't reported it yet mostly because I was interested it making progress and making it work. Ideally samba folks would fix the pkgconfig file for smbclient-raw to set right LDPATH (including all the depending libraries and rpath) so that stuff is not needed. Additionally, there's a few things not exported in the header files (but used) like: http://git.kernel.dk/?p=fio.git;a=blob;f=engines/cifs.c;h=67c23fac0c70cfc75932c758f44dd377fc3f2608;hb=7fd35359259b409ed023b924cb2758e9efb9950c#l16 . It looks like lpcfg_resolve_context() is the only way to create a struct resolve_context which is used in the cliraw hreads, but lpcfg_resolve_context() is not exported via the header files. Some of this might be not using the library correctly... there really wasn't any documentation so I just guessed by looking the torture code in samba and the smbclient and to see what order to punch the lpcfg_stuff to make smbcli_full_connection() not fail. On Tue, Jan 20, 2015 at 2:33 PM, Jens Axboe wrote: > On 01/19/2015 08:31 AM, Jens Axboe wrote: >> >> I didn't look at your code yet, but I'm assuming it's a self contained >> IO engine. So we should be able to make that work, by only linking the >> engine itself against libsmbclient. But sheesh, what a pain in the butt, >> why can't we just all be friends. > > > I pulled it in for testing, and came up with this patch [1]. If you don't do > anything, it'll build cifs into fio as before. If you add --cifs-external to > the configure arguments, it'll build cifs.so as an externally loadable > module. You'd then use: > > ioengine=/path/to/cifs.so > > to use that module. I did not add an install target, I'll leave that to > distros... > > Let me know how that works for you. And let me know how far along you are > with the cifs engine, I'd like to pull it in. > > http://git.kernel.dk/?p=fio.git;a=shortlog;h=refs/heads/cifs > > [1] > http://git.kernel.dk/?p=fio.git;a=commit;h=c2c05e33b753ae686e24b43d1034d0c474203729 > > -- > Jens Axboe > -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: milosz@adfin.com -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pd0-f182.google.com (mail-pd0-f182.google.com [209.85.192.182]) by kanga.kvack.org (Postfix) with ESMTP id BF5326B0070 for ; Tue, 20 Jan 2015 18:26:33 -0500 (EST) Received: by mail-pd0-f182.google.com with SMTP id z10so6481044pdj.13 for ; Tue, 20 Jan 2015 15:26:33 -0800 (PST) Received: from mail-pa0-f42.google.com (mail-pa0-f42.google.com. [209.85.220.42]) by mx.google.com with ESMTPS id is2si6068108pbb.146.2015.01.20.15.26.31 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 20 Jan 2015 15:26:31 -0800 (PST) Received: by mail-pa0-f42.google.com with SMTP id et14so48825323pad.1 for ; Tue, 20 Jan 2015 15:26:31 -0800 (PST) Message-ID: <54BEE436.4020205@kernel.dk> Date: Tue, 20 Jan 2015 16:26:46 -0700 From: Jens Axboe MIME-Version: 1.0 Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <54BEAD82.3070501@kernel.dk> In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Milosz Tanski Cc: James Bottomley , Jeremy Allison , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org On 01/20/2015 04:22 PM, Milosz Tanski wrote: > Side note Jens. > > Can you add a configure flag to disable use of SHM (like for ESX)? It > took me a while to figure out the proper define to manually stick in > the configure. > > The motivation for this is using rr (mozila's replay debugger) to > debug fio. rr doesn't support SHM. http://rr-project.org/ gdb's > reversible debugging is too painfully slow. Yeah definitely, that's mean that thread=1 would be a requirement, obviously. But I'd be fine with adding that flag. -- Jens Axboe -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f52.google.com (mail-pa0-f52.google.com [209.85.220.52]) by kanga.kvack.org (Postfix) with ESMTP id 3F7646B006E for ; Tue, 20 Jan 2015 18:30:26 -0500 (EST) Received: by mail-pa0-f52.google.com with SMTP id kx10so18160394pab.11 for ; Tue, 20 Jan 2015 15:30:26 -0800 (PST) Received: from mail-pa0-f43.google.com (mail-pa0-f43.google.com. [209.85.220.43]) by mx.google.com with ESMTPS id rk11si6530890pab.99.2015.01.20.15.30.24 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 20 Jan 2015 15:30:24 -0800 (PST) Received: by mail-pa0-f43.google.com with SMTP id eu11so11480290pac.2 for ; Tue, 20 Jan 2015 15:30:24 -0800 (PST) Message-ID: <54BEE51F.7080400@kernel.dk> Date: Tue, 20 Jan 2015 16:30:39 -0700 From: Jens Axboe MIME-Version: 1.0 Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <54BEAD82.3070501@kernel.dk> <54BEE436.4020205@kernel.dk> In-Reply-To: <54BEE436.4020205@kernel.dk> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Milosz Tanski Cc: James Bottomley , Jeremy Allison , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org On 01/20/2015 04:26 PM, Jens Axboe wrote: > On 01/20/2015 04:22 PM, Milosz Tanski wrote: >> Side note Jens. >> >> Can you add a configure flag to disable use of SHM (like for ESX)? It >> took me a while to figure out the proper define to manually stick in >> the configure. >> >> The motivation for this is using rr (mozila's replay debugger) to >> debug fio. rr doesn't support SHM. http://rr-project.org/ gdb's >> reversible debugging is too painfully slow. > > Yeah definitely, that's mean that thread=1 would be a requirement, > obviously. But I'd be fine with adding that flag. http://git.kernel.dk/?p=fio.git;a=commit;h=ba40757ed67c00b37dda3639e97c3ba0259840a4 -- Jens Axboe -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-la0-f52.google.com (mail-la0-f52.google.com [209.85.215.52]) by kanga.kvack.org (Postfix) with ESMTP id 4DF946B0032 for ; Tue, 20 Jan 2015 18:53:59 -0500 (EST) Received: by mail-la0-f52.google.com with SMTP id hs14so37295398lab.11 for ; Tue, 20 Jan 2015 15:53:58 -0800 (PST) Received: from mail-la0-f41.google.com (mail-la0-f41.google.com. [209.85.215.41]) by mx.google.com with ESMTPS id t10si17915935lat.56.2015.01.20.15.53.57 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 20 Jan 2015 15:53:58 -0800 (PST) Received: by mail-la0-f41.google.com with SMTP id gm9so11267882lab.0 for ; Tue, 20 Jan 2015 15:53:57 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <54BEE51F.7080400@kernel.dk> References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <54BEAD82.3070501@kernel.dk> <54BEE436.4020205@kernel.dk> <54BEE51F.7080400@kernel.dk> Date: Tue, 20 Jan 2015 18:53:57 -0500 Message-ID: Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps From: Milosz Tanski Content-Type: text/plain; charset=UTF-8 Sender: owner-linux-mm@kvack.org List-ID: To: Jens Axboe Cc: James Bottomley , Jeremy Allison , Volker Lendecke , Jan Kara , Christoph Hellwig , linux-mm@kvack.org, "linux-fsdevel@vger.kernel.org" , lsf-pc@lists.linux-foundation.org On Tue, Jan 20, 2015 at 6:30 PM, Jens Axboe wrote: > On 01/20/2015 04:26 PM, Jens Axboe wrote: >> On 01/20/2015 04:22 PM, Milosz Tanski wrote: >>> Side note Jens. >>> >>> Can you add a configure flag to disable use of SHM (like for ESX)? It >>> took me a while to figure out the proper define to manually stick in >>> the configure. >>> >>> The motivation for this is using rr (mozila's replay debugger) to >>> debug fio. rr doesn't support SHM. http://rr-project.org/ gdb's >>> reversible debugging is too painfully slow. >> >> Yeah definitely, that's mean that thread=1 would be a requirement, >> obviously. But I'd be fine with adding that flag. > > http://git.kernel.dk/?p=fio.git;a=commit;h=ba40757ed67c00b37dda3639e97c3ba0259840a4 Great, thanks for fixing it so quickly. Hopefully it'll be useful to others as well. - M -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: milosz@adfin.com -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qa0-f42.google.com (mail-qa0-f42.google.com [209.85.216.42]) by kanga.kvack.org (Postfix) with ESMTP id 3C0786B0032 for ; Fri, 23 Jan 2015 18:15:38 -0500 (EST) Received: by mail-qa0-f42.google.com with SMTP id dc16so178589qab.1 for ; Fri, 23 Jan 2015 15:15:38 -0800 (PST) Received: from mail-qa0-x22b.google.com (mail-qa0-x22b.google.com. [2607:f8b0:400d:c00::22b]) by mx.google.com with ESMTPS id q1si4027703qaj.14.2015.01.23.15.15.36 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 23 Jan 2015 15:15:37 -0800 (PST) Received: by mail-qa0-f43.google.com with SMTP id v10so173103qac.2 for ; Fri, 23 Jan 2015 15:15:36 -0800 (PST) MIME-Version: 1.0 In-Reply-To: References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> From: Steve French Date: Fri, 23 Jan 2015 17:15:16 -0600 Message-ID: Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Content-Type: text/plain; charset=UTF-8 Sender: owner-linux-mm@kvack.org List-ID: To: Milosz Tanski Cc: Volker Lendecke , Jens Axboe , James Bottomley , Jeremy Allison , Jan Kara , Christoph Hellwig , linux-mm , "linux-fsdevel@vger.kernel.org" , "lsf-pc@lists.linux-foundation.org" On Mon, Jan 19, 2015 at 10:20 AM, Milosz Tanski wrote: > On Mon, Jan 19, 2015 at 11:10 AM, Volker Lendecke > wrote: >> On Mon, Jan 19, 2015 at 08:31:27AM -0700, Jens Axboe wrote: >>> I didn't look at your code yet, but I'm assuming it's a self >>> contained IO engine. So we should be able to make that work, by only >>> linking the engine itself against libsmbclient. But sheesh, what a >>> pain in the butt, why can't we just all be friends. >> >> The published libsmbclient API misses the async features >> that are needed here. Milosz needs to go lower-level. >> >> Volker > > Volker, the sync code path works; in fact I pushed some minor > corrections to my branch this morning. And for now using FIO I can > generate multiple clients (threads / processes). > > I started working on the async features (SMB2 async read/write) for > client library the samba repo. There's a patch there for the first > step of it it there; see the other email I sent to you and Jeremy. I > was going to make sure it licensed under whatever it needs to get into > the samba repo... and since this is done on my own time I personally > don't care what license it's under provided it's not a PITA. Why not do the async read/write via the kernel client if the license is an issue? It already has async SMB2/SMB3 operations (with a synchronous send/receive-like wrapper). -- Thanks, Steve -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pd0-f177.google.com (mail-pd0-f177.google.com [209.85.192.177]) by kanga.kvack.org (Postfix) with ESMTP id 1993E6B0032 for ; Fri, 23 Jan 2015 21:17:10 -0500 (EST) Received: by mail-pd0-f177.google.com with SMTP id y13so1130712pdi.8 for ; Fri, 23 Jan 2015 18:17:09 -0800 (PST) Received: from mail-pd0-f170.google.com (mail-pd0-f170.google.com. [209.85.192.170]) by mx.google.com with ESMTPS id ry9si3964769pbc.147.2015.01.23.18.17.07 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 23 Jan 2015 18:17:08 -0800 (PST) Received: by mail-pd0-f170.google.com with SMTP id p10so1167218pdj.1 for ; Fri, 23 Jan 2015 18:17:07 -0800 (PST) Message-ID: <54C300A1.7040202@kernel.dk> Date: Fri, 23 Jan 2015 19:17:05 -0700 From: Jens Axboe MIME-Version: 1.0 Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps References: <20150115223157.GB25884@quack.suse.cz> <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Steve French , Milosz Tanski Cc: Volker Lendecke , James Bottomley , Jeremy Allison , Jan Kara , Christoph Hellwig , linux-mm , "linux-fsdevel@vger.kernel.org" , "lsf-pc@lists.linux-foundation.org" On 01/23/2015 04:15 PM, Steve French wrote: > On Mon, Jan 19, 2015 at 10:20 AM, Milosz Tanski wrote: >> On Mon, Jan 19, 2015 at 11:10 AM, Volker Lendecke >> wrote: >>> On Mon, Jan 19, 2015 at 08:31:27AM -0700, Jens Axboe wrote: >>>> I didn't look at your code yet, but I'm assuming it's a self >>>> contained IO engine. So we should be able to make that work, by only >>>> linking the engine itself against libsmbclient. But sheesh, what a >>>> pain in the butt, why can't we just all be friends. >>> >>> The published libsmbclient API misses the async features >>> that are needed here. Milosz needs to go lower-level. >>> >>> Volker >> >> Volker, the sync code path works; in fact I pushed some minor >> corrections to my branch this morning. And for now using FIO I can >> generate multiple clients (threads / processes). >> >> I started working on the async features (SMB2 async read/write) for >> client library the samba repo. There's a patch there for the first >> step of it it there; see the other email I sent to you and Jeremy. I >> was going to make sure it licensed under whatever it needs to get into >> the samba repo... and since this is done on my own time I personally >> don't care what license it's under provided it's not a PITA. > > Why not do the async read/write via the kernel client if the license > is an issue? It already has async SMB2/SMB3 operations > (with a synchronous send/receive-like wrapper). The license issue has been solved. Fio is cross platform, so would be preferable to have this work through libsmbclient, if at all possible. -- Jens Axboe -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f48.google.com (mail-pa0-f48.google.com [209.85.220.48]) by kanga.kvack.org (Postfix) with ESMTP id 33D536B0032 for ; Sat, 24 Jan 2015 00:53:45 -0500 (EST) Received: by mail-pa0-f48.google.com with SMTP id ey11so1329129pad.7 for ; Fri, 23 Jan 2015 21:53:44 -0800 (PST) Received: from mail.samba.org (fn.samba.org. [2001:470:1f05:1a07::1]) by mx.google.com with ESMTPS id v10si4398579pdo.185.2015.01.23.21.53.44 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Fri, 23 Jan 2015 21:53:44 -0800 (PST) Date: Fri, 23 Jan 2015 21:53:52 -0800 From: Jeremy Allison Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps Message-ID: <20150124055352.GE6636@jeremy-HP> Reply-To: Jeremy Allison References: <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <54C300A1.7040202@kernel.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <54C300A1.7040202@kernel.dk> Sender: owner-linux-mm@kvack.org List-ID: To: Jens Axboe Cc: Steve French , Milosz Tanski , Volker Lendecke , James Bottomley , Jeremy Allison , Jan Kara , Christoph Hellwig , linux-mm , "linux-fsdevel@vger.kernel.org" , "lsf-pc@lists.linux-foundation.org" On Fri, Jan 23, 2015 at 07:17:05PM -0700, Jens Axboe wrote: > On 01/23/2015 04:15 PM, Steve French wrote: > >On Mon, Jan 19, 2015 at 10:20 AM, Milosz Tanski wrote: > >>On Mon, Jan 19, 2015 at 11:10 AM, Volker Lendecke > >> wrote: > >>>On Mon, Jan 19, 2015 at 08:31:27AM -0700, Jens Axboe wrote: > >>>>I didn't look at your code yet, but I'm assuming it's a self > >>>>contained IO engine. So we should be able to make that work, by only > >>>>linking the engine itself against libsmbclient. But sheesh, what a > >>>>pain in the butt, why can't we just all be friends. > >>> > >>>The published libsmbclient API misses the async features > >>>that are needed here. Milosz needs to go lower-level. > >>> > >>>Volker > >> > >>Volker, the sync code path works; in fact I pushed some minor > >>corrections to my branch this morning. And for now using FIO I can > >>generate multiple clients (threads / processes). > >> > >>I started working on the async features (SMB2 async read/write) for > >>client library the samba repo. There's a patch there for the first > >>step of it it there; see the other email I sent to you and Jeremy. I > >>was going to make sure it licensed under whatever it needs to get into > >>the samba repo... and since this is done on my own time I personally > >>don't care what license it's under provided it's not a PITA. > > > >Why not do the async read/write via the kernel client if the license > >is an issue? It already has async SMB2/SMB3 operations > >(with a synchronous send/receive-like wrapper). > > The license issue has been solved. Fio is cross platform, so would > be preferable to have this work through libsmbclient, if at all > possible. How did the license issue get solved ? Did I miss some email on that ? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pd0-f182.google.com (mail-pd0-f182.google.com [209.85.192.182]) by kanga.kvack.org (Postfix) with ESMTP id D3B516B0032 for ; Sat, 24 Jan 2015 18:00:47 -0500 (EST) Received: by mail-pd0-f182.google.com with SMTP id z10so4679509pdj.13 for ; Sat, 24 Jan 2015 15:00:47 -0800 (PST) Received: from mail-pd0-f180.google.com (mail-pd0-f180.google.com. [209.85.192.180]) by mx.google.com with ESMTPS id 12si6940766pde.142.2015.01.24.15.00.45 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 24 Jan 2015 15:00:46 -0800 (PST) Received: by mail-pd0-f180.google.com with SMTP id ft15so4704395pdb.11 for ; Sat, 24 Jan 2015 15:00:45 -0800 (PST) Message-ID: <54C4241C.9070406@kernel.dk> Date: Sat, 24 Jan 2015 16:00:44 -0700 From: Jens Axboe MIME-Version: 1.0 Subject: Re: [Lsf-pc] [LSF/MM TOPIC] async buffered diskio read for userspace apps References: <20150116165506.GA10856@samba2> <20150119071218.GA9747@jeremy-HP> <1421652849.2080.20.camel@HansenPartnership.com> <54BD234F.3060203@kernel.dk> <54C300A1.7040202@kernel.dk> <20150124055352.GE6636@jeremy-HP> In-Reply-To: <20150124055352.GE6636@jeremy-HP> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Jeremy Allison Cc: Steve French , Milosz Tanski , Volker Lendecke , James Bottomley , Jan Kara , Christoph Hellwig , linux-mm , "linux-fsdevel@vger.kernel.org" , "lsf-pc@lists.linux-foundation.org" On 01/23/2015 10:53 PM, Jeremy Allison wrote: > On Fri, Jan 23, 2015 at 07:17:05PM -0700, Jens Axboe wrote: >> On 01/23/2015 04:15 PM, Steve French wrote: >>> On Mon, Jan 19, 2015 at 10:20 AM, Milosz Tanski wrote: >>>> On Mon, Jan 19, 2015 at 11:10 AM, Volker Lendecke >>>> wrote: >>>>> On Mon, Jan 19, 2015 at 08:31:27AM -0700, Jens Axboe wrote: >>>>>> I didn't look at your code yet, but I'm assuming it's a self >>>>>> contained IO engine. So we should be able to make that work, by only >>>>>> linking the engine itself against libsmbclient. But sheesh, what a >>>>>> pain in the butt, why can't we just all be friends. >>>>> >>>>> The published libsmbclient API misses the async features >>>>> that are needed here. Milosz needs to go lower-level. >>>>> >>>>> Volker >>>> >>>> Volker, the sync code path works; in fact I pushed some minor >>>> corrections to my branch this morning. And for now using FIO I can >>>> generate multiple clients (threads / processes). >>>> >>>> I started working on the async features (SMB2 async read/write) for >>>> client library the samba repo. There's a patch there for the first >>>> step of it it there; see the other email I sent to you and Jeremy. I >>>> was going to make sure it licensed under whatever it needs to get into >>>> the samba repo... and since this is done on my own time I personally >>>> don't care what license it's under provided it's not a PITA. >>> >>> Why not do the async read/write via the kernel client if the license >>> is an issue? It already has async SMB2/SMB3 operations >>> (with a synchronous send/receive-like wrapper). >> >> The license issue has been solved. Fio is cross platform, so would >> be preferable to have this work through libsmbclient, if at all >> possible. > > How did the license issue get solved ? Did I miss some email > on that ? Only the cifs engine is linked with libsmbclient, so that particular engine can be licensed as v2 or later (or v3, u to Milosz). -- Jens Axboe -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org