----- On Apr 12, 2018, at 3:43 PM, Linus Torvalds torvalds@xxxxxxxxxxxxxxxxxxxx wrote: > On Thu, Apr 12, 2018 at 12:27 PM, Mathieu Desnoyers > <mathieu.desnoyers@xxxxxxxxxxxx> wrote: >> The cpu_opv system call executes a vector of operations on behalf of >> user-space on a specific CPU with preemption disabled. It is inspired >> by readv() and writev() system calls which take a "struct iovec" >> array as argument. > > Do we really want the page pinning? > > This whole cpu_opv thing is the most questionable part of the series, > and the page pinning is the most questionable part of cpu_opv for me. What are your concerns about page pinning ? Do you have an alternative approach in mind ? > Can we plan on merging just the plain rseq parts *without* this all > first, and then see the cpu_opv thing as a "maybe future expansion" > part. The main problem with the incremental approach is that it won't deal with remote CPU data accesses, and won't deal with cpu hotplug in non-racy ways. For *some* of the use-cases, the other issues solved by cpu_opv can be worked-around in user-space, at the cost of making the userspace code a mess, and in many cases slower than if we can rely on cpu_opv for the fallback. All the rseq test-cases depend on cpu_opv as they stand now. Without cpu_opv to handle the corner-cases, things become much more messy on the user-space side. Thanks, Mathieu > > I think that would make Andy happier too. > > Linus -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html