Hi Daniel, > > + SocketAddress saddr = { > > + .type = SOCKET_ADDRESS_TYPE_UNIX, > > + .u.q_unix.path = socket_path > > + }; > > + QIOChannelSocket *sioc = qio_channel_socket_new(); > > + Error *local_err = NULL; > > + > > + int r; > > + > > + qio_channel_set_name(QIO_CHANNEL(sioc), "vmsr-helper"); > > + qio_channel_socket_connect_sync(sioc, > > + &saddr, > > + &local_err); > > + g_free(socket_path); > > + if (local_err) { > > + goto out_close; > > + } > > In the previous posting I suggested that connectiong to the > helper again & again for every individual MSR read is a > high overhead. Connect once, and then just keep the socket > open forever. >
Indeed, this would be way more efficient. Does that means that I should create the socket during the initialisation of the main loop (kvm_msr_energy_thread_init) and keep track of the context variable and then just give the QIOChannelSocket pointer has a parameter to the vmsr_read_msr() function to send the data? Regards, Anthony