[dpdk-dev] [PATCH] vhost: provide vhost API to unregister vhost unix domain socket

Xie, Huawei huawei.xie at intel.com
Wed Jun 17 13:05:15 CEST 2015


On 6/17/2015 12:17 PM, Tetsuya Mukawa wrote:
> On 2015/06/02 10:50, Huawei Xie wrote:
>> rte_vhost_driver_unregister will remove the listenfd from event list, and then close it.
>>
>> Signed-off-by: Huawei Xie <huawei.xie at intel.com>
>> Signed-off-by: Peng Sun <peng.a.sun at intel.com>
>> ---
>>  
>> +/**
>> + * Unregister the specified vhost server
>> + */
>> +int
>> +rte_vhost_driver_unregister(const char *path)
>> +{
>> +	int i;
>> +	int count;
>> +
>> +	pthread_mutex_lock(&g_vhost_server.server_mutex);
>> +
>> +	for (i = 0; i < g_vhost_server.vserver_cnt; i++) {
>> +		if (!strcmp(g_vhost_server.server[i]->path, path)) {
>> +			fdset_del(&g_vhost_server.fdset,
>> +				g_vhost_server.server[i]->listenfd);
>> +
>> +			close(g_vhost_server.server[i]->listenfd);
>> +			free(g_vhost_server.server[i]->path);
>> +			free(g_vhost_server.server[i]);
>> +
>> +			unlink(path);
>> +
>> +			count = --g_vhost_server.vserver_cnt;
>> +			g_vhost_server.server[i] =
>> +				g_vhost_server.server[count];
>> +			g_vhost_server.server[count] =
>> +				NULL;
>> +			pthread_mutex_unlock(&g_vhost_server.server_mutex);
>> +
>> +			return 0;
>> +		}
>> +	}
>> +	pthread_mutex_unlock(&g_vhost_server.server_mutex);
>> +
>> +	return -1;
>> +}
>> +
>>
> Hi Xie,
>
> It seems vserver_cnt is incremented when socket is registered, and
> decremented when unregistered.
> And this value is used for index value of g_vhost_server.server[ ], when
> a new socket is registered.
When we unregister a server at index x,  we will move the server at the
tail of the array to the location x.
> So I have a question about below case.
>
> Step1. socket0 is registered.
> Step2: scoekt1 is registered.
> Step3. socket0 is unregistered.
When socket0 is unregistered, socket1  will be moved to location at index 0.
> Step4. socket2 is registered.
socket2 is registered at index 1.
>
> After above steps, are socket1 and socket2 still registered?
>
> Thanks,
> Tetsuya
>
>
What is your concern here?


More information about the dev mailing list