Re: [RFC PATCH] mmc: core: Disable REQ_FUA if the eMMC supports an internal cache

From: Bean Huo
Date: Thu Mar 02 2023 - 10:02:36 EST


On 02.03.23 3:43 PM, Ulf Hansson wrote:
REQ_FUA is in general supported for eMMC cards, which translates into so
called "reliable writes". To support these write operations, the CMD23
(MMC_CAP_CMD23), needs to be supported by the mmc host too, which is common
but not always the case.

For some eMMC devices, it has been reported that reliable writes are quite
costly, leading to performance degradations.

In a way to improve the situation, let's avoid announcing REQ_FUA support
if the eMMC supports an internal cache, as that allows us to rely solely on
flush-requests (REQ_OP_FLUSH) instead, which seems to be a lot cheaper.
Note that, those mmc hosts that lacks CMD23 support are already using this
type of configuration, whatever that could mean.

Reported-by: Wenchao Chen<wenchao.chen666@xxxxxxxxx>
Signed-off-by: Ulf Hansson<ulf.hansson@xxxxxxxxxx>
Acked-by: Bean Huo <beanhuo@xxxxxxxxxx>