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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/