Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp4593879imm; Tue, 9 Oct 2018 02:00:04 -0700 (PDT) X-Google-Smtp-Source: ACcGV61aOW/K7vth9x94lghDa+LpxwIjGQhwUrlsCzYLUjoVb7UosffuLoq1JSHMZod4boiQ/g7a X-Received: by 2002:a62:71c4:: with SMTP id m187-v6mr28812373pfc.232.1539075604639; Tue, 09 Oct 2018 02:00:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539075604; cv=none; d=google.com; s=arc-20160816; b=V1NVtWoTLopaxINa1JoMpsRm8J3N2iwWUuC/YPzoLYiDXQHi29D+jytpoU/T5P09RF dW7omIxAuPzx409Kk32BWgjBRxBduykkxkwZMop/HOruRXPWmowb7TDtR1NOKJiCD3VV a/Oike2rZOfAu+qIhtLVJJUbE80veT4v1KIlbHg26x0RMsoFwb/3hADhTn6uPhXh79VX FBkkRIzxblJhuwsj6d+jTN0xadNNe3zZPm11uWSqPuLsq7hsYIBo17PJWqWGnppZuoMX E2BYtqYfFSBK6K9mrukrR17AYKK7+TCsYdTkTFrRk9W+tyraWFP8RtH+amIeO1b05ckD ZjSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from; bh=SqbN4RaNXCR9d3uL3y4AKUXo1u7FmvZT1CaqNejDfxM=; b=ij/Z8lA2neWrKjyafCio3iQ92T9T6g/XBnZP2nfbWa2ks/SQfyjjMLMH+LcQVBtLoL hdNGf/nucujxEXjH169n+uwp9+mwcbBS5B/lUjTTKrkuk9MMGDJ/VfmwAhjXetZKmdod jHxUxDAnaOE1pYOTium4dsIBscpc6gQUbbWtj06V6ex10UvwUr6RRVAUYsLGPxuSMKvY eNkoNv87BoyIOtWynIOGEVnphwJjz3GJGRfx36tGZSwFopp9bF8QE1DTv7ct4zbjQ4h2 /Q881URPcvJvyVzdbfTOCtA3p+dDRJY6oLn8EO+BnjUdqct6+3k3ZPyQdiwACUbVV4r8 mb2Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 22-v6si21146174pfl.220.2018.10.09.01.59.50; Tue, 09 Oct 2018 02:00:04 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726647AbeJIQPN convert rfc822-to-8bit (ORCPT + 99 others); Tue, 9 Oct 2018 12:15:13 -0400 Received: from eu-smtp-delivery-151.mimecast.com ([146.101.78.151]:42275 "EHLO eu-smtp-delivery-151.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726393AbeJIQPN (ORCPT ); Tue, 9 Oct 2018 12:15:13 -0400 Received: from AcuMS.aculab.com (156.67.243.126 [156.67.243.126]) (Using TLS) by eu-smtp-1.mimecast.com with ESMTP id uk-mta-157-l5akfGpBOGyDDLZROCIpeg-1; Tue, 09 Oct 2018 09:59:17 +0100 Received: from AcuMS.Aculab.com (fd9f:af1c:a25b:0:43c:695e:880f:8750) by AcuMS.aculab.com (fd9f:af1c:a25b:0:43c:695e:880f:8750) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Tue, 9 Oct 2018 09:59:18 +0100 Received: from AcuMS.Aculab.com ([fe80::43c:695e:880f:8750]) by AcuMS.aculab.com ([fe80::43c:695e:880f:8750%12]) with mapi id 15.00.1347.000; Tue, 9 Oct 2018 09:59:18 +0100 From: David Laight To: 'Masami Hiramatsu' , Steven Rostedt CC: "linux-kernel@vger.kernel.org" , "Linus Torvalds" , Ingo Molnar , Andrew Morton , Thomas Gleixner , Peter Zijlstra , "Mathieu Desnoyers" , Matthew Helsley , "Rafael J . Wysocki" , David Woodhouse , Paolo Bonzini , Josh Poimboeuf , Jason Baron , "Jiri Kosina" Subject: RE: [POC][RFC][PATCH 1/2] jump_function: Addition of new feature "jump_function" Thread-Topic: [POC][RFC][PATCH 1/2] jump_function: Addition of new feature "jump_function" Thread-Index: AQHUX4JXf4uWjPQOJUG5UZOYRQnM7KUWm/Kg Date: Tue, 9 Oct 2018 08:59:18 +0000 Message-ID: References: <20181006015110.653946300@goodmis.org> <20181006015720.634688468@goodmis.org> <20181009124401.6005e2a39c760851aa54e600@kernel.org> In-Reply-To: <20181009124401.6005e2a39c760851aa54e600@kernel.org> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 X-MC-Unique: l5akfGpBOGyDDLZROCIpeg-1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Masami Hiramatsu > Sent: 09 October 2018 04:44 ... > I think we can replace the first 5 bytes of the default function > to jmp instruction (to alternative function) instead of making > this trampoline. Or have a trampoline that is just a jump instruction and overwrite the target address at run time to select the non-default code. With care the target address can be aligned so that the write is atomic and can be done while other cpu might be calling the function. This will be lower impact that a 'jump indirect' - especially since the latter would have to be implemented using a 'retpoline'. It would also make it possible to re-instate the default function. (By saving its address after the jump.) David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)