[dm-devel] [PATCH] staging: writeboost: Add dm-writeboost

Akira Hayakawa ruby.wktk at gmail.com
Wed Dec 10 14:43:46 UTC 2014


On 12/10/14 10:42 PM, Joe Thornber wrote:
> On Wed, Dec 10, 2014 at 10:31:31PM +0900, Akira Hayakawa wrote:
>> Joe,
>>
>>> So you copy the bio payload to a different block of ram and then
>>> complete the bio?  Or does the rambuf refer to the bio payload
>>> directly?
>> Good question.
>> The answer is, copy the data (got by bio_data(bio)) to rambuf once
>> and ack if it's not barrier things.
>> It would be nice if data in rambuf points to bio payload but it now copies
>> because bio payload can be reused after completion. Am I right?
>> Is there a way of eliminate memory copying?
> 
> You *have* to eliminate this memory copying.  Remap the bios to the
> relevant portion of your log, and don't complete them until you log
> chunk is coherent.
> 

Barrier writes don't ack until the log is written on cache device.
I guess treating other writes as well will do this work.

But, it will be much better if I can do this by manipulating reference count
of the bio payload. I am not sure how the implementation would be.

Anyway, thanks for advice,

- Akira




More information about the dm-devel mailing list