|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Ping: [PATCH 09/11, v2] tmem: reduce severity of log messages
I was hoping to get this series (and the supposedly trivial tools
side fix for save/restore) into the tree, but this patch is lacking
an ack...
Jan
>>> On 07.09.12 at 14:15, "Jan Beulich" <JBeulich@xxxxxxxx> wrote:
> Otherwise they can be used by a guest to spam the hypervisor log when
> all settings are at their defaults.
>
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
> ---
> v2: As suggested by Ian, use separate abstraction for messages printed
> in result of client side operations (so that e.g. the init time
> system messages don't also get converted to guest level ones).
>
> --- a/xen/common/tmem.c
> +++ b/xen/common/tmem.c
> @@ -1107,7 +1107,7 @@ static int shared_pool_join(pool_t *pool
> sl->client = new_client;
> list_add_tail(&sl->share_list, &pool->share_list);
> if ( new_client->cli_id != pool->client->cli_id )
> - printk("adding new %s %d to shared pool owned by %s %d\n",
> + tmh_client_info("adding new %s %d to shared pool owned by %s %d\n",
> client_str, new_client->cli_id, client_str,
> pool->client->cli_id);
> return ++pool->shared_count;
> }
> @@ -1137,7 +1137,7 @@ static NOINLINE void shared_pool_reassig
> old_client->eph_count -= _atomic_read(pool->pgp_count);
> list_splice_init(&old_client->ephemeral_page_list,
> &new_client->ephemeral_page_list);
> - printk("reassigned shared pool from %s=%d to %s=%d pool_id=%d\n",
> + tmh_client_info("reassigned shared pool from %s=%d to %s=%d
> pool_id=%d\n",
> cli_id_str, old_client->cli_id, cli_id_str, new_client->cli_id,
> poolid);
> pool->pool_id = poolid;
> }
> @@ -1173,7 +1173,7 @@ static NOINLINE int shared_pool_quit(poo
> }
> return 0;
> }
> - printk("tmem: no match unsharing pool, %s=%d\n",
> + tmh_client_warn("tmem: no match unsharing pool, %s=%d\n",
> cli_id_str,pool->client->cli_id);
> return -1;
> }
> @@ -1184,17 +1184,18 @@ static void pool_flush(pool_t *pool, cli
> ASSERT(pool != NULL);
> if ( (is_shared(pool)) && (shared_pool_quit(pool,cli_id) > 0) )
> {
> - printk("tmem: %s=%d no longer using shared pool %d owned by
> %s=%d\n",
> + tmh_client_warn("tmem: %s=%d no longer using shared pool %d owned
> by %s=%d\n",
> cli_id_str, cli_id, pool->pool_id,
> cli_id_str,pool->client->cli_id);
> return;
> }
> - printk("%s %s-%s tmem pool ",destroy?"destroying":"flushing",
> - is_persistent(pool) ? "persistent" : "ephemeral" ,
> - is_shared(pool) ? "shared" : "private");
> - printk("%s=%d pool_id=%d\n",
> cli_id_str,pool->client->cli_id,pool->pool_id);
> + tmh_client_info("%s %s-%s tmem pool %s=%d pool_id=%d\n",
> + destroy ? "destroying" : "flushing",
> + is_persistent(pool) ? "persistent" : "ephemeral" ,
> + is_shared(pool) ? "shared" : "private",
> + cli_id_str, pool->client->cli_id, pool->pool_id);
> if ( pool->client->live_migrating )
> {
> - printk("can't %s pool while %s is live-migrating\n",
> + tmh_client_warn("can't %s pool while %s is live-migrating\n",
> destroy?"destroy":"flush", client_str);
> return;
> }
> @@ -1213,21 +1214,22 @@ static client_t *client_create(cli_id_t
> client_t *client =
> tmh_alloc_infra(sizeof(client_t),__alignof__(client_t));
> int i;
>
> - printk("tmem: initializing tmem capability for
> %s=%d...",cli_id_str,cli_id);
> + tmh_client_info("tmem: initializing tmem capability for %s=%d...",
> + cli_id_str, cli_id);
> if ( client == NULL )
> {
> - printk("failed... out of memory\n");
> + tmh_client_err("failed... out of memory\n");
> goto fail;
> }
> memset(client,0,sizeof(client_t));
> if ( (client->tmh = tmh_client_init(cli_id)) == NULL )
> {
> - printk("failed... can't allocate host-dependent part of client\n");
> + tmh_client_err("failed... can't allocate host-dependent part of
> client\n");
> goto fail;
> }
> if ( !tmh_set_client_from_id(client, client->tmh, cli_id) )
> {
> - printk("failed... can't set client\n");
> + tmh_client_err("failed... can't set client\n");
> goto fail;
> }
> client->cli_id = cli_id;
> @@ -1249,7 +1251,7 @@ static client_t *client_create(cli_id_t
> client->eph_count = client->eph_count_max = 0;
> client->total_cycles = 0; client->succ_pers_puts = 0;
> client->succ_eph_gets = 0; client->succ_pers_gets = 0;
> - printk("ok\n");
> + tmh_client_info("ok\n");
> return client;
>
> fail:
> @@ -1903,32 +1905,33 @@ static NOINLINE int do_tmem_new_pool(cli
> cli_id = tmh_get_cli_id_from_current();
> else
> cli_id = this_cli_id;
> - printk("tmem: allocating %s-%s tmem pool for %s=%d...",
> + tmh_client_info("tmem: allocating %s-%s tmem pool for %s=%d...",
> persistent ? "persistent" : "ephemeral" ,
> shared ? "shared" : "private", cli_id_str, cli_id);
> if ( specversion != TMEM_SPEC_VERSION )
> {
> - printk("failed... unsupported spec version\n");
> + tmh_client_err("failed... unsupported spec version\n");
> return -EPERM;
> }
> if ( pagebits != (PAGE_SHIFT - 12) )
> {
> - printk("failed... unsupported pagesize %d\n",1<<(pagebits+12));
> + tmh_client_err("failed... unsupported pagesize %d\n",
> + 1 << (pagebits + 12));
> return -EPERM;
> }
> if ( flags & TMEM_POOL_PRECOMPRESSED )
> {
> - printk("failed... precompression flag set but unsupported\n");
> + tmh_client_err("failed... precompression flag set but
> unsupported\n");
> return -EPERM;
> }
> if ( flags & TMEM_POOL_RESERVED_BITS )
> {
> - printk("failed... reserved bits must be zero\n");
> + tmh_client_err("failed... reserved bits must be zero\n");
> return -EPERM;
> }
> if ( (pool = pool_alloc()) == NULL )
> {
> - printk("failed... out of memory\n");
> + tmh_client_err("failed... out of memory\n");
> return -ENOMEM;
> }
> if ( this_cli_id != CLI_ID_NULL )
> @@ -1947,7 +1950,7 @@ static NOINLINE int do_tmem_new_pool(cli
> break;
> if ( d_poolid >= MAX_POOLS_PER_DOMAIN )
> {
> - printk("failed... no more pool slots available for this %s\n",
> + tmh_client_err("failed... no more pool slots available for this
> %s\n",
> client_str);
> goto fail;
> }
> @@ -1977,9 +1980,8 @@ static NOINLINE int do_tmem_new_pool(cli
> {
> if ( shpool->uuid[0] == uuid_lo && shpool->uuid[1] ==
> uuid_hi )
> {
> - printk("(matches shared pool uuid=%"PRIx64".%"PRIx64")
> ",
> - uuid_hi, uuid_lo);
> - printk("pool_id=%d\n",d_poolid);
> + tmh_client_info("(matches shared pool
> uuid=%"PRIx64".%"PRIx64") pool_id=%d\n",
> + uuid_hi, uuid_lo, d_poolid);
> client->pools[d_poolid] = global_shared_pools[s_poolid];
> shared_pool_join(global_shared_pools[s_poolid],
> client);
> pool_free(pool);
> @@ -1991,7 +1993,7 @@ static NOINLINE int do_tmem_new_pool(cli
> }
> if ( first_unused_s_poolid == MAX_GLOBAL_SHARED_POOLS )
> {
> - printk("tmem: failed... no global shared pool slots
> available\n");
> + tmh_client_warn("tmem: failed... no global shared pool slots
> available\n");
> goto fail;
> }
> else
> @@ -2007,7 +2009,7 @@ static NOINLINE int do_tmem_new_pool(cli
> pool->pool_id = d_poolid;
> pool->persistent = persistent;
> pool->uuid[0] = uuid_lo; pool->uuid[1] = uuid_hi;
> - printk("pool_id=%d\n",d_poolid);
> + tmh_client_info("pool_id=%d\n", d_poolid);
> return d_poolid;
>
> fail:
> @@ -2030,14 +2032,15 @@ static int tmemc_freeze_pools(cli_id_t c
> {
> list_for_each_entry(client,&global_client_list,client_list)
> client_freeze(client,freeze);
> - printk("tmem: all pools %s for all %ss\n",s,client_str);
> + tmh_client_info("tmem: all pools %s for all %ss\n", s, client_str);
> }
> else
> {
> if ( (client = tmh_client_from_cli_id(cli_id)) == NULL)
> return -1;
> client_freeze(client,freeze);
> - printk("tmem: all pools %s for %s=%d\n",s,cli_id_str,cli_id);
> + tmh_client_info("tmem: all pools %s for %s=%d\n",
> + s, cli_id_str, cli_id);
> }
> return 0;
> }
> @@ -2048,7 +2051,7 @@ static int tmemc_flush_mem(cli_id_t cli_
>
> if ( cli_id != CLI_ID_NULL )
> {
> - printk("tmem: %s-specific flush not supported yet, use --all\n",
> + tmh_client_warn("tmem: %s-specific flush not supported yet, use
> --all\n",
> client_str);
> return -1;
> }
> @@ -2261,13 +2264,15 @@ static int tmemc_set_var_one(client_t *c
> case TMEMC_SET_WEIGHT:
> old_weight = client->weight;
> client->weight = arg1;
> - printk("tmem: weight set to %d for %s=%d\n",arg1,cli_id_str,cli_id);
> + tmh_client_info("tmem: weight set to %d for %s=%d\n",
> + arg1, cli_id_str, cli_id);
> atomic_sub(old_weight,&client_weight_total);
> atomic_add(client->weight,&client_weight_total);
> break;
> case TMEMC_SET_CAP:
> client->cap = arg1;
> - printk("tmem: cap set to %d for %s=%d\n",arg1,cli_id_str,cli_id);
> + tmh_client_info("tmem: cap set to %d for %s=%d\n",
> + arg1, cli_id_str, cli_id);
> break;
> case TMEMC_SET_COMPRESS:
> #ifdef __i386__
> @@ -2275,17 +2280,17 @@ static int tmemc_set_var_one(client_t *c
> #endif
> if ( tmh_dedup_enabled() )
> {
> - printk("tmem: compression %s for all %ss, cannot be changed "
> - "when tmem_dedup is enabled\n",
> - tmh_compression_enabled() ? "enabled" : "disabled",client_str);
> + tmh_client_warn("tmem: compression %s for all %ss, cannot be
> changed when tmem_dedup is enabled\n",
> + tmh_compression_enabled() ? "enabled" :
> "disabled",
> + client_str);
> return -1;
> }
> client->compress = arg1 ? 1 : 0;
> - printk("tmem: compression %s for %s=%d\n",
> + tmh_client_info("tmem: compression %s for %s=%d\n",
> arg1 ? "enabled" : "disabled",cli_id_str,cli_id);
> break;
> default:
> - printk("tmem: unknown subop %d for tmemc_set_var\n",subop);
> + tmh_client_warn("tmem: unknown subop %d for tmemc_set_var\n",
> subop);
> return -1;
> }
> return 0;
> @@ -2668,7 +2673,7 @@ EXPORT long do_tmem_op(tmem_cli_op_t uop
>
> if ( unlikely(tmh_get_tmemop_from_client(&op, uops) != 0) )
> {
> - printk("tmem: can't get tmem struct from %s\n",client_str);
> + tmh_client_err("tmem: can't get tmem struct from %s\n",
> client_str);
> rc = -EFAULT;
> if ( !tmh_lock_all )
> goto simple_error;
> @@ -2702,7 +2707,8 @@ EXPORT long do_tmem_op(tmem_cli_op_t uop
> tmem_write_lock_set = 1;
> if ( (client = client_create(tmh_get_cli_id_from_current())) ==
> NULL )
> {
> - printk("tmem: can't create tmem structure for %s\n",client_str);
> + tmh_client_err("tmem: can't create tmem structure for %s\n",
> + client_str);
> rc = -ENOMEM;
> goto out;
> }
> @@ -2726,8 +2732,8 @@ EXPORT long do_tmem_op(tmem_cli_op_t uop
> if ( ((uint32_t)op.pool_id >= MAX_POOLS_PER_DOMAIN) ||
> ((pool = client->pools[op.pool_id]) == NULL) )
> {
> + tmh_client_err("tmem: operation requested on uncreated
> pool\n");
> rc = -ENODEV;
> - printk("tmem: operation requested on uncreated pool\n");
> goto out;
> }
> ASSERT_SENTINEL(pool,POOL);
> @@ -2783,11 +2789,11 @@ EXPORT long do_tmem_op(tmem_cli_op_t uop
> break;
> case TMEM_XCHG:
> /* need to hold global lock to ensure xchg is atomic */
> - printk("tmem_xchg op not implemented yet\n");
> + tmh_client_warn("tmem_xchg op not implemented yet\n");
> rc = 0;
> break;
> default:
> - printk("tmem: op %d not implemented\n", op.cmd);
> + tmh_client_warn("tmem: op %d not implemented\n", op.cmd);
> rc = 0;
> break;
> }
> --- a/xen/include/xen/tmem_xen.h
> +++ b/xen/include/xen/tmem_xen.h
> @@ -512,6 +512,9 @@ int tmh_copy_to_client(tmem_cli_mfn_t, p
>
> extern int tmh_copy_tze_to_client(tmem_cli_mfn_t cmfn, void *tmem_va,
> pagesize_t len);
>
> +#define tmh_client_err(fmt, args...) printk(XENLOG_G_ERR fmt, ##args)
> +#define tmh_client_warn(fmt, args...) printk(XENLOG_G_WARNING fmt, ##args)
> +#define tmh_client_info(fmt, args...) printk(XENLOG_G_INFO fmt, ##args)
>
> #define TMEM_PERF
> #ifdef TMEM_PERF
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |