Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751834AbbBVKRo (ORCPT ); Sun, 22 Feb 2015 05:17:44 -0500 Received: from mail-we0-f169.google.com ([74.125.82.169]:34470 "EHLO mail-we0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751297AbbBVKRm (ORCPT ); Sun, 22 Feb 2015 05:17:42 -0500 Date: Sun, 22 Feb 2015 11:17:37 +0100 From: Ingo Molnar To: Jiri Kosina Cc: Josh Poimboeuf , Vojtech Pavlik , Peter Zijlstra , Andrew Morton , Ingo Molnar , Seth Jennings , linux-kernel@vger.kernel.org, Linus Torvalds Subject: Re: live patching design (was: Re: [PATCH 1/3] sched: add sched_task_call()) Message-ID: <20150222101737.GA24570@gmail.com> References: <20150220095003.GA23506@gmail.com> <20150220104418.GD25076@gmail.com> <20150220194901.GB3603@gmail.com> <20150220214613.GA21598@suse.com> <20150220220845.GI15980@treble.redhat.com> <20150221183005.GB8406@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1936 Lines: 52 * Jiri Kosina wrote: > On Sat, 21 Feb 2015, Ingo Molnar wrote: > > > > Plus a lot of processes would see EINTR, causing more > > > havoc. > > > > Parking threads safely in user mode does not require > > the propagation of syscall interruption to user-space. > > BTW how exactly do you envision this will work? Do I > understand your proposal correctly that EINTR will be > "handled" somewhere in the "live patching special signal > handler" and then have the interrupted syscall restarted? If you want to think about it in signal handling terms then it's a new automatic in-kernel handler, which does not actually return back to user-mode at all. We can do it via the signals machinery (mainly to reuse all the existing signal_pending() code in various syscalls), or via new TIF flags like the user work machinery: the principle is the same: interrupt out of syscall functions into a central place and restart them, and return to user-space later on as if a single call had been performed. This necessarily means some changes to syscalls, but not insurmountable ones - and checkpoint/restore support would want to have similar changes in any case so we can hit two birds with the same stone. > Even without EINTR propagation to userspace, this would > make a lot of new syscall restarts that were not there > before, [...] That's only a problem if you do system call restarts by restarting them via user-space system call restart handler - I'm not proposing that. I'm suggesting a completely user-space transparent way to execute long lasting system calls in a smarter way. I.e. it would not be observable via strace either. Thanks, Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/