[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 14/16] tmem: cleanup: drop useless functions from head file
On 27/11/13 14:52, Konrad Rzeszutek Wilk wrote: > On Wed, Nov 27, 2013 at 02:38:07PM +0000, Andrew Cooper wrote: >> On 20/11/13 08:46, Bob Liu wrote: >>> They are several one line functions in tmem_xen.h which are useless, this >>> patch >>> embeded them into tmem.c directly. >>> >>> Signed-off-by: Bob Liu <bob.liu@xxxxxxxxxx> >>> --- >>> xen/common/tmem.c | 22 +++++++++++----------- >>> xen/include/xen/tmem_xen.h | 27 --------------------------- >>> 2 files changed, 11 insertions(+), 38 deletions(-) >>> >>> diff --git a/xen/common/tmem.c b/xen/common/tmem.c >>> index bf0fa1b..2e807d4 100644 >>> --- a/xen/common/tmem.c >>> +++ b/xen/common/tmem.c >>> @@ -1212,7 +1212,7 @@ obj_unlock: >>> >>> static int tmem_evict(void) >>> { >>> - struct client *client = tmem_client_from_current(); >>> + struct client *client = (struct client *)current->domain->tmem; >> domain->tmem is a void pointer. Therefore this explicit cast to (struct >> client *) is redundant. >> >> I would however, suggest updating struct domain to have a struct client >> pointer rather than a void pointer. > That might bring more of #include in the file. That was I believe the initial > reason for not doing that. But perhaps one can also just do: > > extern struct client; > > in the header that has domain struct (I always forget the name of it) > and that would make this neater. just "struct client;" is the correct way to "extern" a struct in C. I might also suggest a rename to tmem_client ? ~Andrew > >> ~Andrew >> >>> struct tmem_page_descriptor *pgp = NULL, *pgp2, *pgp_del; >>> struct tmem_object_root *obj; >>> struct tmem_pool *pool; >>> @@ -1625,7 +1625,7 @@ static int do_tmem_get(struct tmem_pool *pool, struct >>> oid *oidp, uint32_t index, >>> list_del(&pgp->us.client_eph_pages); >>> >>> list_add_tail(&pgp->us.client_eph_pages,&client->ephemeral_page_list); >>> spin_unlock(&eph_lists_spinlock); >>> - obj->last_client = tmem_get_cli_id_from_current(); >>> + obj->last_client = current->domain->domain_id; >>> } >>> } >>> if ( obj != NULL ) >>> @@ -1694,7 +1694,7 @@ out: >>> >>> static int do_tmem_destroy_pool(uint32_t pool_id) >>> { >>> - struct client *client = tmem_client_from_current(); >>> + struct client *client = (struct client *)current->domain->tmem; >>> struct tmem_pool *pool; >>> >>> if ( client->pools == NULL ) >>> @@ -1725,7 +1725,7 @@ static int do_tmem_new_pool(domid_t this_cli_id, >>> int i; >>> >>> if ( this_cli_id == TMEM_CLI_ID_NULL ) >>> - cli_id = tmem_get_cli_id_from_current(); >>> + cli_id = current->domain->domain_id; >>> else >>> cli_id = this_cli_id; >>> tmem_client_info("tmem: allocating %s-%s tmem pool for %s=%d...", >>> @@ -1766,7 +1766,7 @@ static int do_tmem_new_pool(domid_t this_cli_id, >>> } >>> else >>> { >>> - client = tmem_client_from_current(); >>> + client = (struct client *)current->domain->tmem; >>> ASSERT(client != NULL); >>> for ( d_poolid = 0; d_poolid < MAX_POOLS_PER_DOMAIN; d_poolid++ ) >>> if ( client->pools[d_poolid] == NULL ) >>> @@ -2206,7 +2206,7 @@ static int do_tmem_control(struct tmem_op *op) >>> uint32_t subop = op->u.ctrl.subop; >>> struct oid *oidp = (struct oid *)(&op->u.ctrl.oid[0]); >>> >>> - if (!tmem_current_is_privileged()) >>> + if ( xsm_tmem_control(XSM_PRIV) ) >>> return -EPERM; >>> >>> switch(subop) >>> @@ -2278,7 +2278,7 @@ static int do_tmem_control(struct tmem_op *op) >>> long do_tmem_op(tmem_cli_op_t uops) >>> { >>> struct tmem_op op; >>> - struct client *client = tmem_client_from_current(); >>> + struct client *client = (struct client *)current->domain->tmem; >>> struct tmem_pool *pool = NULL; >>> struct oid *oidp; >>> int rc = 0; >>> @@ -2290,10 +2290,10 @@ long do_tmem_op(tmem_cli_op_t uops) >>> if ( !tmem_initialized ) >>> return -ENODEV; >>> >>> - if ( !tmem_current_permitted() ) >>> + if ( xsm_tmem_op(XSM_HOOK) ) >>> return -EPERM; >>> >>> - if ( client != NULL && tmem_client_is_dying(client) ) >>> + if ( client != NULL && client->domain->is_dying ) >>> return -ENODEV; >>> >>> if ( unlikely(tmem_get_tmemop_from_client(&op, uops) != 0) ) >>> @@ -2328,7 +2328,7 @@ long do_tmem_op(tmem_cli_op_t uops) >>> { >>> write_lock(&tmem_rwlock); >>> write_lock_set = 1; >>> - if ( (client = client_create(tmem_get_cli_id_from_current())) == >>> NULL ) >>> + if ( (client = client_create(current->domain->domain_id)) == NULL ) >>> { >>> tmem_client_err("tmem: can't create tmem structure for %s\n", >>> tmem_client_str); >>> @@ -2417,7 +2417,7 @@ void tmem_destroy(void *v) >>> if ( client == NULL ) >>> return; >>> >>> - if ( !tmem_client_is_dying(client) ) >>> + if ( !client->domain->is_dying ) >>> { >>> printk("tmem: tmem_destroy can only destroy dying client\n"); >>> return; >>> diff --git a/xen/include/xen/tmem_xen.h b/xen/include/xen/tmem_xen.h >>> index c4b9f5a..bf3be62 100644 >>> --- a/xen/include/xen/tmem_xen.h >>> +++ b/xen/include/xen/tmem_xen.h >>> @@ -183,33 +183,6 @@ static inline struct client >>> *tmem_client_from_cli_id(domid_t cli_id) >>> return c; >>> } >>> >>> -static inline struct client *tmem_client_from_current(void) >>> -{ >>> - return (struct client *)(current->domain->tmem); >>> -} >>> - >>> -#define tmem_client_is_dying(_client) (!!_client->domain->is_dying) >>> - >>> -static inline domid_t tmem_get_cli_id_from_current(void) >>> -{ >>> - return current->domain->domain_id; >>> -} >>> - >>> -static inline struct domain *tmem_get_cli_ptr_from_current(void) >>> -{ >>> - return current->domain; >>> -} >>> - >>> -static inline bool_t tmem_current_permitted(void) >>> -{ >>> - return !xsm_tmem_op(XSM_HOOK); >>> -} >>> - >>> -static inline bool_t tmem_current_is_privileged(void) >>> -{ >>> - return !xsm_tmem_control(XSM_PRIV); >>> -} >>> - >>> static inline uint8_t tmem_get_first_byte(struct page_info *pfp) >>> { >>> void *p = __map_domain_page(pfp); >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@xxxxxxxxxxxxx >> http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |