From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8ADAFC636D4 for ; Fri, 10 Feb 2023 23:23:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0A8C7280036; Fri, 10 Feb 2023 18:23:50 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0594D28002F; Fri, 10 Feb 2023 18:23:50 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E629E280036; Fri, 10 Feb 2023 18:23:49 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id D409A28002F for ; Fri, 10 Feb 2023 18:23:49 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id B2BE141290 for ; Fri, 10 Feb 2023 23:23:49 +0000 (UTC) X-FDA: 80452961778.18.1894839 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf28.hostedemail.com (Postfix) with ESMTP id 8E69AC0013 for ; Fri, 10 Feb 2023 23:23:47 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=X65Rd1uA; spf=none (imf28.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676071428; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=AP2TD6OwnYFB37LieArEw/htbLdqYVrISvpIX8EBFdg=; b=BpyNlkmXaF5mvfLUIDE2eLu/znSRKWeLm4kY9eWPtBpIjyAFg0upgRwaGnrRAhJckEJs08 LtyB2hJUkxG9apOQPfSZ0fRYC+xbmKQ+RFnOJdLtrEq1FIZ+6t7gkybLXp4HHY7oLiDX7o 9iQr7ZFlExjIrfljE68KIosN9P+on3M= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=X65Rd1uA; spf=none (imf28.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676071428; a=rsa-sha256; cv=none; b=BVT3LBMc0WTYcq4NMB9ivFAYJB65dIZivpzOlTEj9xqhOy4hLwBTC6NdQVyv2OWupnCTf9 TvKQopOwTHeh8c1ZyADwVdHbONI6TfcLRRYiVENm2lF4vt9f11rb3JwnaseWGQMEVougna sJ9uJrDrY6xUqZcMcQNA5Xv8Nv6Xs5U= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=AP2TD6OwnYFB37LieArEw/htbLdqYVrISvpIX8EBFdg=; b=X65Rd1uAmhiuyDSNLjQpJsDEsQ G4bh0XGxOtNAXgbjackcfpqShmCCJWH2iUhpKKi+AhoKk5NW3Z07078WWbo6XqkrQmv+C9Y/2/Vbq zqb4pwIWQT+QtYrheWc2EO0a8ZhtC4AeRJ1qYLoZxkytQMA7JVQVy2tC3H/aTcmZ6CF9e+WghTBtr 9COe7U3W9+OwzqltMWY+fVDy5oQrG9+DBMTw03CVs/DCpguYzRYKkRBuXM+AGwbxwtnNBNtRJKGX5 hb5c+GOElZZBfVBrRuFeLWmwFYKqelp8TK99Fb4U5MUqHE1cj9TElbsa2nqSua0Oedn4zbBXwFlpA iwabePWw==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1pQcjv-003XoO-Ev; Fri, 10 Feb 2023 23:23:35 +0000 Date: Fri, 10 Feb 2023 23:23:35 +0000 From: Matthew Wilcox To: Stefan Roesch Cc: kernel-team@fb.com, linux-mm@kvack.org, riel@surriel.com, mhocko@suse.com, david@redhat.com, linux-kselftest@vger.kernel.org, linux-doc@vger.kernel.org, akpm@linux-foundation.org Subject: Re: [RFC PATCH v2 00/19] mm: process/cgroup ksm support Message-ID: References: <20230210215023.2740545-1-shr@devkernel.io> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230210215023.2740545-1-shr@devkernel.io> X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 8E69AC0013 X-Stat-Signature: ouquphxufqbikrn86fbd6a353ypfctt5 X-HE-Tag: 1676071427-723869 X-HE-Meta: U2FsdGVkX1/C6XtmTuT3398Vgr4G21bIPe1oRoAKTw89QoDax9BgZfGhCwp6xc7+xSkQRNwHrrfld5HjbnYpm/F2BqUsUEA1YE9tPxH1P87jo5XxZ1fT1FhJZXj//FlqefnGgAZtU+Wyt6+u8guden224DkXuUvNzPpu3cc75RD4bUIrrM82WmDzrpCAVUY092U+F1yA0D13WOcVMLNmDcZhXIl1aMbT/8id8nGWTt1gcjIBuWxzz5U3KX/FljzAF247Jge3P147SPstNqtB//scsQFx84h14XJEuIB6bw8+kn5malh7sLfzmf/6IqH9XoirHcc571tcuizuMvPoqKQ1pvjOTa44aMVL7CGMBPpvwLPvwxNk+ibWsWRTflcudJutWHDVFxhRYGi0/49YQssCZQRhJKSYFP08rzTkdcfNuMKMzXu6fyrTS9S/0bhTMPHwKx1OiQztlzWKrqS1tDtc4LRio8cbzkst/LljSjC1jfa2/BF9fZHYH1czc1ulxN3X/K6YYLs4p//CTlUJ2n5E8x5EVNisKelR93uLhSSxZVNFvXGjEWjkthKE6nBec5pM2BC189pTfCb/CHtCKo2qoTMyCn+ChSCvI8JlHNENI466+Vv6rEmBHPnVY6WorOXh5ZqpM9nveM4kaw0ynrgwacsXtpps51yqQ5dsgG74OCB1DecmaD7EzfaHxi3WCJ3uIqg2m62lms9pTZqaqttLuLmTDFzo4zjHnCPxbZHDEQib6Nr3YnRr6fiy9pdgr20jjSchPXL1KY/9G6uYYfcLM5XQtucmE32iknegIKoFbnnLYFqV10p3BcvVEhg7X+p3PUKRUZUVWb3orRjzqMF6aU1UbdzAhxjqzAb4TM8smKuIjHg6H6bOSZdtDxoK3ms9HsSt9UWG8+TbgVZ4dAjJQzwKYtpTHTb99lRfMdLsm7FAL1yaEXvNsluNxraRR2lJQSW1AQkTEYPl9gy fVlxxIVb krf4r6hk3F54QWQVQX/T0kxwNrWBKtIy9bpvJZygc0d2xruUollwbeW8JCbfd/QngiFmu8ogVBv3ewWUN51F0P/RTApNwADP6hu4XnlTX2K7/DR6UOpMt2iW5Rw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Fri, Feb 10, 2023 at 01:50:04PM -0800, Stefan Roesch wrote: > So far KSM can only be enabled by calling madvise for memory regions. What is > required to enable KSM for more workloads is to enable / disable it at the > process / cgroup level. > > Use case: > The madvise call is not available in the programming language. An example for > this are programs with forked workloads using a garbage collected language without > pointers. In such a language madvise cannot be made available. > > In addition the addresses of objects get moved around as they are garbage > collected. KSM sharing needs to be enabled "from the outside" for these type of > workloads. Don't you have source code to the interpreter for this mysterious language? Usually that would be where we put calls to madvise()