On 2/29/2016 8:11 PM, Stephen Hemminger wrote: > On Wed, 27 Jan 2016 16:24:07 +0000 > Ferruh Yigit <ferruh.yigit at intel.com> wrote: > >> +static int >> +kcp_ioctl_release(unsigned int ioctl_num, unsigned long ioctl_param) >> +{ >> + int ret = -EINVAL; >> + struct kcp_dev *dev; >> + struct kcp_dev *n; >> + char name[RTE_KCP_NAMESIZE]; >> + unsigned int instance = ioctl_param; >> + >> + snprintf(name, RTE_KCP_NAMESIZE, "dpdk%u", instance); >> + >> + down_write(&kcp_list_lock); > > > Some observations about how acceptable this will to upstream > kernel developers. > > ioctl's are the lease favored form of API. > This is from v1 of patch, v3 is out and it removed ioctl, replacing it with rtnetlink.
v3: http://dpdk.org/dev/patchwork/patch/10872/ > You chose the worst possible mutual exclusion read/write semaphores. > Read/write is slower than simpler primtives, and semaphores were > replaced for almost all usage models by mutexes (about 4 years ago). > > Looks like you copied the out of date kernel API's used > by KNI. > But still using same locks, and as you have guessed these are from legacy code. I will replace them with newer, faster lock APIs happily. If only problem is using slow lock APIs, it seems code is in pretty good shape J Please check the v3, it is in better shape now. With more review from reviewers and after a few more versions, we can have something upstreamable. Thanks, ferruh