Re: btrfs send/receive review by vfs folks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Martin,
I apologize for misspelling your name.

Yes, user-space can handle a buffer pool of any number of buffers,
like one thread fetching a free buffer, handling it to the kernel,
then putting it on some ready-buffer queue and signalling to a another
thread that fetches ready (full) buffers and handles them. After it is
done with the buffer, it puts it back on a free-buffer queue and
signals the first thread. This is exactly producer-consumer.

Alex.


On Sun, Oct 7, 2012 at 12:53 PM, Martin Steigerwald <Martin@xxxxxxxxxxxx> wrote:
> 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@xxxxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux