Messages in this thread | | | Date | Sun, 28 Jun 2015 08:52:46 +0200 (CEST) | From | Julia Lawall <> | Subject | LIBCFS_ALLOC |
| |
It is not clear that all of the uses of LIBCFS_ALLOC really risk needing vmalloc. For example:
lnet/klnds/socklnd/socklnd.c, function ksocknal_accept:
ksock_connreq_t *cr; ... LIBCFS_ALLOC(cr, sizeof(*cr));
The definition of ksock_connreq_t is:
typedef struct ksock_connreq { struct list_head ksncr_list; /* stash on ksnd_connd_connreqs */ lnet_ni_t *ksncr_ni; /* chosen NI */ struct socket *ksncr_sock; /* accepted socket */ } ksock_connreq_t;
This looks like a very small structure.
LIBCFS_ALLOC relies on a test on the size, which should be able to be compiled away. libcfs_kvzalloc on the other hand relies on the failure of kmalloc and so the test for that won't be compiled away.
Does it matter?
julia
| |