All of lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Steigerwald <Martin@lichtvoll.de>
To: Alex Lyakas <alex.bolshoy.btrfs@gmail.com>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: btrfs send/receive review by vfs folks
Date: Sun, 7 Oct 2012 12:53:43 +0200	[thread overview]
Message-ID: <201210071253.43538.Martin@lichtvoll.de> (raw)
In-Reply-To: <CAHf9xvb8Oz+9TOQ_HJk8Qh5W==RKRme=u=QVvnBd-7E0oBW-gg@mail.gmail.com>

Am Sonntag, 7. Oktober 2012 schrieb Alex Lyakas:
> Matrin,

Martin, but bet was just a typo.

> On Sat, Oct 6, 2012 at 11:40 AM, Martin Steigerwald 
<Martin@lichtvoll.de> wrote:
> > Am Donnerstag, 4. Oktober 2012 schrieb Alex Lyakas:
> >> Hi Jan,
> >> as I promised, here is some code for you to look at.
> >> 
> >> First I will describe the approach in general.
> >> 
> >> # Get rid of the pipe. Instead, user-space passes a buffer and
> >> kernel fills the specified user-space buffer with commands.
> >> # When the buffer is full, kernel stops generating commands and
> >> returns a checkpoint to the user-space.
> > 
> > Can it just fill a second buffer while userspace command handles the
> > first?
> 
> No, at this point kernel receives only one buffer and fills it up.
> Can you pls elaborate more what improvement you have in mind? Like
> user-space sending a list of buffers to the kernel in one shot? Or
> that user-space handles kind of producer-consumer pool of buffers and
> works on full buffers while kernel fills the empty ones (this, of
> course, can work).
> 
> In general, my direction was to make the kernel call stateless, which
> makes the user-space part more flexible.

Hmmm, okay. So the kernel has only one buffer.

Well I had some kind of double buffering in mind. The kernel fills one buffer 
while the userspace application handles the other buffer. Then kernel and 
userspace swap buffers.

Just an idea of mine. I do not do kernel development, so I do not know 
whether its feasible. Was happy enough that I wrote a C program that uses 
some kernel functions some weeks ago that actually worked :)

So would using two buffers and swapping them make sense?

I do not understand what you mean by producer-consumer, but it seems like 
thats basically what I described as double buffering here.

Thanks,
-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7

  reply	other threads:[~2012-10-07 10:53 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-01 12:09 btrfs send/receive review by vfs folks Alexander Block
2012-09-24  9:13 ` Alex Lyakas
2012-09-24  9:27   ` Jan Schmidt
2012-09-27 19:36     ` Alex Lyakas
2012-10-04 15:59     ` Alex Lyakas
2012-10-06  9:40       ` Martin Steigerwald
2012-10-07 10:48         ` Alex Lyakas
2012-10-07 10:53           ` Martin Steigerwald [this message]
2012-10-07 11:08             ` Alex Lyakas
2012-10-07 12:59               ` Martin Steigerwald
2012-10-08  9:26       ` Jan Schmidt
2012-10-08 11:38         ` Alex Lyakas
2012-10-08 13:37           ` Jan Schmidt
2012-10-10 20:28             ` Alex Lyakas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201210071253.43538.Martin@lichtvoll.de \
    --to=martin@lichtvoll.de \
    --cc=alex.bolshoy.btrfs@gmail.com \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.