Re: Should we be using unlikely() around tests of GFP_ZERO?

From: Pekka Enberg
Date: Mon Jan 03 2011 - 02:41:21 EST


Hi,

On Mon, Jan 3, 2011 at 8:48 AM, Theodore Ts'o <tytso@xxxxxxx> wrote:
>> Given the patches being busily submitted by trivial patch submitters to
>> make use kmem_cache_zalloc(), et. al, I believe we should remove the
>> unlikely() tests around the (gfp_flags & __GFP_ZERO) tests, such as:
>>
>> -       if (unlikely((flags & __GFP_ZERO) && objp))
>> +       if ((flags & __GFP_ZERO) && objp)
>>                memset(objp, 0, obj_size(cachep));
>>
>> Agreed?  If so, I'll send a patch...

On Mon, Jan 3, 2011 at 5:46 AM, Minchan Kim <minchan.kim@xxxxxxxxx> wrote:
> I support it.

I guess the rationale here is that if you're going to take the hit of
memset() you can take the hit of unlikely() as well. We're optimizing
for hot call-sites that allocate a small amount of memory and
initialize everything themselves. That said, I don't think the
unlikely() annotation matters much either way and am for removing it
unless people object to that.

On Mon, Jan 3, 2011 at 5:46 AM, Minchan Kim <minchan.kim@xxxxxxxxx> wrote:
> Recently Steven tried to gather the information.
> http://thread.gmane.org/gmane.linux.kernel/1072767
> Maybe he might have a number for that.

That would be interesting, sure.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/