[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] libxc: Replace malloc with alloca in hot path
# HG changeset patch # User Santosh Jodh <santosh.jodh@xxxxxxxxxx> # Date 1328640410 0 # Node ID 8ba7ae0b070b4de93fc033067c61714c202d64c1 # Parent 0a28397a3ee5ce290a35c1b6e6c62466179c40eb libxc: Replace malloc with alloca in hot path Replace malloc with alloc in hot paths for improved performance. Signed-off-by: Santosh Jodh <santosh.jodh@xxxxxxxxxx> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Committed-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> --- diff -r 0a28397a3ee5 -r 8ba7ae0b070b tools/libxc/xc_linux_osdep.c --- a/tools/libxc/xc_linux_osdep.c Tue Feb 07 18:45:00 2012 +0000 +++ b/tools/libxc/xc_linux_osdep.c Tue Feb 07 18:46:50 2012 +0000 @@ -243,7 +243,7 @@ * IOCTL_PRIVCMD_MMAPBATCH_V2 is not supported - fall back to * IOCTL_PRIVCMD_MMAPBATCH. */ - xen_pfn_t *pfn = malloc(num * sizeof(*pfn)); + xen_pfn_t *pfn = alloca(num * sizeof(*pfn)); if ( pfn ) { @@ -289,8 +289,6 @@ break; } - free(pfn); - if ( rc == -ENOENT && i == num ) rc = 0; else if ( rc ) @@ -525,7 +523,7 @@ if (flags & XC_GRANT_MAP_SINGLE_DOMAIN) domids_stride = 0; - map = malloc(sizeof(*map) + + map = alloca(sizeof(*map) + (count - 1) * sizeof(struct ioctl_gntdev_map_grant_ref)); if ( map == NULL ) return NULL; @@ -599,7 +597,6 @@ } out: - free(map); return addr; } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |