Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753038AbbBXKha (ORCPT ); Tue, 24 Feb 2015 05:37:30 -0500 Received: from mail-wi0-f170.google.com ([209.85.212.170]:62449 "EHLO mail-wi0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751281AbbBXKh2 (ORCPT ); Tue, 24 Feb 2015 05:37:28 -0500 Date: Tue, 24 Feb 2015 11:37:23 +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 , live-patching@vger.kernel.org Subject: Re: live patching design (was: Re: [PATCH 1/3] sched: add sched_task_call()) Message-ID: <20150224103723.GA20698@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: 1932 Lines: 54 * Jiri Kosina wrote: > On Sat, 21 Feb 2015, Ingo Molnar wrote: > > > (It does have some other requirements, such as making > > all syscalls interruptible to a 'special' signalling > > method that only live patching triggers - even syscalls > > that are under the normal ABI uninterruptible, such as > > sys_sync().) > > BTW I didn't really understand this -- could you please > elaborate what exactly do you propose to do here in your > "simplified" patching method (i.e. serializing everybody > at the kernel boundary) for TASK_UNINTERRUPTIBLE > processess? So I'd try to separate out the two main categories of uninterruptible sleepers: - those who just serialize with other local CPUs/tasks relatively quickly - those who are waiting for some potentially very long and open ended request. [such as IO, potentially network IO.] I'd only touch the latter: a prominent example would be sys_sync(). I'd leave alone the myriads of other uninterruptible sleepers. > But I didn't understand your claims regarding > uninterruptible sleeps in your paragraph above. > sys_sync() is one thing, that's just waiting > uninterruptibly for completion. But how about all the > mutex waitiers in TASK_UNINTERRUPTIBLE, for example? I'd not touch those - unless they are waiting for something that will not be done by the time we park all tasks: for example NFS might have uninterruptible sleeps, and sys_sync() will potentially do IO for minutes. I think it would be the exception, not the rule - but it would give us an approach that allows us to touch 'any' kernel code if its wait times are unreasonably long or open ended. 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/