lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 14 Mar 2008 13:26:23 -0700
From:	Daniel Walker <dwalker@...sta.com>
To:	Roel Kluin <12o3l@...cali.nl>
Cc:	lkml <linux-kernel@...r.kernel.org>, Hua Zhong <hzhong@...il.com>,
	akpm@...ux-foundation.org
Subject: Re: [PATCH v1] change likeliness accounting


On Fri, 2008-03-14 at 00:06 +0100, Roel Kluin wrote:

>  #define __check_likely(exp, is_likely)					\
>  	({								\
>  		static struct likeliness likeliness = {			\
> -			.func = __func__,				\
> -			.file = __FILE__,				\
> -			.line = __LINE__,				\
> -			.type = is_likely | LP_UNSEEN,			\
> +			.label = __LINE__ << LP_LINE_SHIFT |		\
> +						LP_UNSEEN | is_likely,	\
>  		};							\
> -		do_check_likely(&likeliness, !!(exp));			\
> +									\
> +		if (likeliness.label & LP_UNSEEN)			\
> +			do_check_likely(&likeliness);			\

On second look, your actually break even on size (if not a little worse)
cause you adding some addition code into the macro which effectively
inlines it at all the likely/unlikely locations .. I'm not sure that's
really necessary .. 

Also by not including the file name you have situation like the
following,

+unlikely |   208324|  4010128| do_sys_open+0x2a/0xb2()@:34

Where do_sys_open is on line 1076 in file fs/open.c , but the likely
location is actual on like 34 in file include/linux/err.h ..

So I think saving of the EIP does help in finding the actually caller,
but I do think we loose something by removing the file name..

Daniel

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ