Re: [PATCH v2 2/2] SELinux: Increase ebitmap_node size for 64-bit configuration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wednesday, July 10, 2013 02:33:04 PM Stephen Smalley wrote:
> On 06/05/2013 05:15 PM, Waiman Long wrote:
> > Currently, the ebitmap_node structure has a fixed size of 32 bytes. On
> > a 32-bit system, the overhead is 8 bytes, leaving 24 bytes for being
> > used as bitmaps. The overhead ratio is 1/4.
> > 
> > On a 64-bit system, the overhead is 16 bytes. Therefore, only 16 bytes
> > are left for bitmap purpose and the overhead ratio is 1/2. With a
> > 3.8.2 kernel, a boot-up operation will cause the ebitmap_get_bit()
> > function to be called about 9 million times. The average number of
> > ebitmap_node traversal is about 3.7.
> > 
> > This patch increases the size of the ebitmap_node structure to 64
> > bytes for 64-bit system to keep the overhead ratio at 1/4. This may
> > also improve performance a little bit by making node to node traversal
> > less frequent (< 2) as more bits are available in each node.
> > 
> > Signed-off-by: Waiman Long <Waiman.Long@xxxxxx>
> 
> Acked-by:  Stephen Smalley <sds@xxxxxxxxxxxxx>

Looks good to me too.  Merged, built, and tested okay too.

 * git://git.infradead.org/users/pcmoore/lblnet-2.6_next

> > ---
> > 
> >   security/selinux/ss/ebitmap.h |    8 +++++++-
> >   1 files changed, 7 insertions(+), 1 deletions(-)
> > 
> > diff --git a/security/selinux/ss/ebitmap.h b/security/selinux/ss/ebitmap.h
> > index e7eb3a9..712c8a7 100644
> > --- a/security/selinux/ss/ebitmap.h
> > +++ b/security/selinux/ss/ebitmap.h
> > @@ -16,7 +16,13 @@
> > 
> >   #include <net/netlabel.h>
> > 
> > -#define EBITMAP_UNIT_NUMS	((32 - sizeof(void *) - sizeof(u32))	\
> > +#ifdef CONFIG_64BIT
> > +#define	EBITMAP_NODE_SIZE	64
> > +#else
> > +#define	EBITMAP_NODE_SIZE	32
> > +#endif
> > +
> > +#define EBITMAP_UNIT_NUMS	((EBITMAP_NODE_SIZE-sizeof(void
> > *)-sizeof(u32))\
> > 
> >   					/ sizeof(unsigned long))
> >   
> >   #define EBITMAP_UNIT_SIZE	BITS_PER_LONG
> >   #define EBITMAP_SIZE		(EBITMAP_UNIT_NUMS * EBITMAP_UNIT_SIZE)
> 
> --
> To unsubscribe from this list: send the line "unsubscribe
> linux-security-module" in the body of a message to
> majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
-- 
paul moore
www.paul-moore.com


--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@xxxxxxxxxxxxx with
the words "unsubscribe selinux" without quotes as the message.




[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux