[Skiboot] [RFC PATCH 6/6] libflash: add blocklevel_raw_prepare()
Vasant Hegde
hegdevasant at linux.vnet.ibm.com
Fri Mar 1 16:16:44 AEDT 2019
On 03/01/2019 06:06 AM, Stewart Smith wrote:
> Vasant Hegde <hegdevasant at linux.vnet.ibm.com> writes:
>
>> On 02/28/2019 11:48 AM, Stewart Smith wrote:
>>> The logic of a prepare call is to move the window (or at least start the
>>> process of moving the window) so that when a read/write/erase call is
>>> made, we don't have to wait for a IPMI round trip. >
>>> For non-hiomap backends, one could use similar logic.
>>>
>>> ---
>>> Not Signed-off-by yet as I'm totally not convinced
>>
>> Even I'm not convinced about this approach. Its still error prone.
>> May be best is to split read/write/erase call to two parts (one initiates
>> request to BMC
>> and second one does post processing after getting data from BMC).
>> That way we can remove synchronous message completely from these
>> paths.
>
> Yeah, that was my thought as well... It involves more surgery to
> libflash though, which is annoying.
Unfortunately yes. May be its better to split this patchset into two.
- Prepare core/flash.c code to asynchronous events (may be first four patch?)
- Then change libflash code.
.../..
>>
>> This still uses synchronous path. So not going to help much.
>
> Yeah, it doesn't make a huge impact, but amazingly enough, there is
> *some* improvement (tens of ms)... but it needs work.
Also if we use asynchronous method, then it will completely avoid "Hardlock up
issues".
-Vasant
More information about the Skiboot
mailing list