Re: [PATCH] fs: dcache: Use bool return value instead of int

From: Chen Gang
Date: Wed Jan 13 2016 - 17:37:31 EST



On 1/13/16 06:21, Al Viro wrote:
> On Wed, Jan 13, 2016 at 05:42:20AM +0800, Chen Gang wrote:
>
>> For me, it really generates a little better code:
>>
>> - Both 1-word store and 1-byte store are 1 instruction, normally, they
>> have the same execution speed (although it is not quite precise).
>>
>> - But 1-byte store instruction has short length under CISC archs, which
>> can generate a little better code globally.
>>
>> - For most of archs, 1-word store can process bytes nonalignment cases,
>> for check_mount() individually, the parameter data may be not word
>> alignment, which may cause the 1-word store slower than 1-byte store.
>
> What the hell do you mean, unaligned? It's given an address of local
> variable of type int; it _will_ be aligned, or the compiler is FUBAR.
>

I guess you misunderstand my meaning, in our case, it should not happen,
so I say "for check_mount() individually".

For 32 bits store instruction, we need consider about the byte alignment.

> As for the inlines... frankly, if gcc generates a different code from having
> replaced int with bool in those, it's time to do something very nasty to
> gcc developers.
>

Could you provide the related proof?

Thanks.
--
Chen Gang (éå)

Open, share, and attitude like air, water, and life which God blessed