Re: [PATCH V1] mmc: core: Add partial initialization support

From: Wenchao Chen
Date: Wed Sep 27 2023 - 23:20:47 EST


On Tue, 26 Sept 2023 at 18:41, Sarthak Garg <quic_sartgarg@xxxxxxxxxxx> wrote:
>
>
> On 6/16/2022 4:18 AM, Ulf Hansson wrote:
> > On Tue, 24 May 2022 at 07:37, Sarthak Garg (QUIC)
> > <quic_sartgarg@xxxxxxxxxxx> wrote:
> >> Hi Ulf,
> >>
> >> Please find the gains seen on micron and kingston eMMC parts below with partial initialization feature (These are the averaged numbers) :
> >>
> >> 1) Micron eMMC (ManfID 0x13)
> >>
> >> Partial init Full Init
> >>
> >> a) _mmc_resume: _mmc_resume :
> >>
> >> Total time : 62ms Total time : 84ms
> >> (Decrease % from full init = ~26%)
> > Alright, so we gained around 22ms. Not too bad.
> >
> >> Breakup :
> >> mmc_claim_host_time: 0.2ms mmc_claim_host_time: 0.1ms
> >> mmc_power_up_time: 33ms mmc_power_up_time: 33ms
> >> mmc_sleepawake_time: 28ms mmc_init_card_time: 50ms
> >> mmc_partial_init_time: 1ms
> >>
> >> b) _mmc_suspend: _mmc_suspend:
> >>
> >> Total time: 5ms Total time: 7.5ms
> >> mmc_claim_host_time: 0.5ms mmc_claim_host_time: 1ms
> >> mmc_flush_cache_time : 1.5 ms mmc_flush_cache_time : 2.5 ms
> >> mmc_sleep_time: 1.5ms mmc_sleep_time: 2ms
> >> mmc_power_off_time: 1.5ms mmc_power_off_time: 1.5ms
> > The suspend time shouldn't really differ. Or is there a reason for this?
>
>
> I think this could be due to run to run variation as we can see
> mmc_claim_host and mmc_flush_cache itself taking some extra 1ms.
>
>

Hi Sarthak

I have a question.
1.What is the difference between Partial init and Full Init on SOC
power consumption?
2.Partial init and Full init improve IO performance?
3.Could you share the test methods if you want?

> >
> >>
> >> 2) Kingston eMMC (ManfID 0x70)
> >>
> >> Partial init Full Init
> >>
> >> a) _mmc_resume: _mmc_resume :
> >> Total time : 46ms Total time : 62ms
> >> (Decrease % from full init = ~25%)
> >>
> >> Breakup :
> >> mmc_claim_host_time: 0.2ms mmc_claim_host_time: 0.2ms
> >> mmc_power_up_time: 30ms mmc_power_up_time: 30ms
> >> mmc_sleepawake_time: 14ms mmc_init_card_time: 31ms
> >> mmc_partial_init_time: 2ms
> >>
> >>
> >> b) _mmc_suspend: _mmc_suspend:
> >> Total time : 5ms Total: 5ms
> >>
> >> Breakup :
> >> mmc_claim_host_time: 0.5ms mmc_claim_host_time: 0.5ms
> >> mmc_flush_cache_time : 1.5 ms mmc_flush_cache_time : 1.5 ms
> >> mmc_sleep_time: 1.5ms mmc_sleep_time: 1ms
> >> mmc_power_off_time: 1.5ms mmc_power_off_time: 1.5ms
> >>
> >> Did some minor modifications as well to this patchset as per avri's comment which I'll post as V2.
> >> Please let me know your inputs about these numbers.
> > Thanks for posting these numbers, much appreciated! Please try to
> > include some of the data as part of the commit message as I think it's
> > valuable information.
> >
> > When it comes to reviewing the code, I am awaiting your v2 then.
> >
> > [...]
> >
> > Kind regards
> > Uffe
>
> Sure will add this data to the commit text in V2.
>
>