linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Barry Song <21cnbao@gmail.com>
To: posk@posk.io
Cc: Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	 Thomas Gleixner <tglx@linutronix.de>,
	Andrew Morton <akpm@linux-foundation.org>,
	 Dave Hansen <dave.hansen@linux.intel.com>,
	Andy Lutomirski <luto@kernel.org>,  Linux-MM <linux-mm@kvack.org>,
	LKML <linux-kernel@vger.kernel.org>,
	 linux-api@vger.kernel.org, Paul Turner <pjt@google.com>,
	Ben Segall <bsegall@google.com>,
	 Peter Oskolkov <posk@google.com>,
	Andrei Vagin <avagin@google.com>, Jann Horn <jannh@google.com>,
	 Thierry Delisle <tdelisle@uwaterloo.ca>
Subject: Re: [PATCH v0.8 0/6] sched,mm,x86/uaccess: implement User Managed Concurrency Groups
Date: Tue, 9 Nov 2021 21:55:45 +1300	[thread overview]
Message-ID: <CAGsJ_4xRcu1P9EV0-9GF00n7Cg0=0=NRQ8dj1EAe4OZotWWfbQ@mail.gmail.com> (raw)
In-Reply-To: <20211104195804.83240-1-posk@google.com>

On Fri, Nov 5, 2021 at 8:58 AM Peter Oskolkov <posk@posk.io> wrote:
>
> User Managed Concurrency Groups (UMCG) is an M:N threading
> subsystem/toolkit that lets user space application developers implement
> in-process user space schedulers.
>
> Key changes from the previous patchset
> https://lore.kernel.org/all/20211012232522.714898-1-posk@google.com/:
>
> - added libumcg tools/lib/umcg;
> - worker "wakeup" is reworked so that it is now purely a userspace op,
>   instead of waking the thread in order for it to block on return
>   to the userspace immediately;
> - a couple of minor fixes and refactorings.
>
> These big things remain to be addressed (in no particular order):
> - support tracing/debugging
> - make context switches faster (see umcg_do_context_switch in umcg.c)
> - support other architectures
> - cleanup and post selftests in tools/testing/selftests/umcg/
> - allow cross-mm wakeups (securely)
>
>
> Peter Oskolkov (6):
>   sched/umcg: add WF_CURRENT_CPU and externise ttwu
>   mm, x86/uaccess: add userspace atomic helpers
>   sched/umcg: implement UMCG syscalls
>   sched/umcg, lib/umcg: implement libumcg
>   sched/umcg: add Documentation/userspace-api/umcg.txt
>   sched/umcg, lib/umcg: add tools/lib/umcg/libumcg.txt

Hi Peter,
Do you have a real workload or an example application using UMCG?

>
>  Documentation/userspace-api/umcg.txt   |  598 ++++++++++++
>  arch/x86/entry/syscalls/syscall_64.tbl |    2 +
>  arch/x86/include/asm/uaccess_64.h      |   93 ++
>  fs/exec.c                              |    1 +
>  include/linux/sched.h                  |   71 ++
>  include/linux/syscalls.h               |    3 +
>  include/linux/uaccess.h                |   46 +
>  include/uapi/asm-generic/unistd.h      |    6 +-
>  include/uapi/linux/umcg.h              |  137 +++
>  init/Kconfig                           |   10 +
>  kernel/entry/common.c                  |    4 +-
>  kernel/exit.c                          |    5 +
>  kernel/sched/Makefile                  |    1 +
>  kernel/sched/core.c                    |   12 +-
>  kernel/sched/fair.c                    |    4 +
>  kernel/sched/sched.h                   |   15 +-
>  kernel/sched/umcg.c                    |  949 +++++++++++++++++++
>  kernel/sys_ni.c                        |    4 +
>  mm/maccess.c                           |  264 ++++++
>  tools/lib/umcg/.gitignore              |    4 +
>  tools/lib/umcg/Makefile                |   11 +
>  tools/lib/umcg/libumcg.c               | 1201 ++++++++++++++++++++++++
>  tools/lib/umcg/libumcg.h               |  299 ++++++
>  tools/lib/umcg/libumcg.txt             |  438 +++++++++
>  24 files changed, 4166 insertions(+), 12 deletions(-)
>  create mode 100644 Documentation/userspace-api/umcg.txt
>  create mode 100644 include/uapi/linux/umcg.h
>  create mode 100644 kernel/sched/umcg.c
>  create mode 100644 tools/lib/umcg/.gitignore
>  create mode 100644 tools/lib/umcg/Makefile
>  create mode 100644 tools/lib/umcg/libumcg.c
>  create mode 100644 tools/lib/umcg/libumcg.h
>  create mode 100644 tools/lib/umcg/libumcg.txt
>
>
> base-commit: 8ea9183db4ad8afbcb7089a77c23eaf965b0cacd
> --
> 2.25.1
>

Thanks
Barry


  parent reply	other threads:[~2021-11-09  8:56 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-04 19:57 Peter Oskolkov
2021-11-04 19:57 ` [PATCH v0.8 1/6] sched/umcg: add WF_CURRENT_CPU and externise ttwu Peter Oskolkov
2021-11-04 19:58 ` [PATCH v0.8 2/6] mm, x86/uaccess: add userspace atomic helpers Peter Oskolkov
2021-11-05  6:10   ` kernel test robot
2021-11-09  4:18   ` Tao Zhou
2021-11-04 19:58 ` [PATCH v0.8 3/6] sched/umcg: implement UMCG syscalls Peter Oskolkov
2021-11-05 12:55   ` kernel test robot
2021-11-05 23:48   ` Thierry Delisle
2021-11-08  4:09     ` Peter Oskolkov
2021-11-06 17:20   ` Tao Zhou
2021-11-07 18:26     ` Peter Oskolkov
2021-11-08  6:57       ` Tao Zhou
2021-11-15 20:11   ` kernel test robot
2021-11-21 21:08     ` Peter Oskolkov
2021-11-04 19:58 ` [PATCH v0.8 4/6] sched/umcg, lib/umcg: implement libumcg Peter Oskolkov
2021-11-07 16:34   ` Tao Zhou
2021-11-07 18:27     ` Peter Oskolkov
2021-11-08  7:12       ` Tao Zhou
2021-11-04 19:58 ` [PATCH v0.8 5/6] sched/umcg: add Documentation/userspace-api/umcg.txt Peter Oskolkov
2021-11-04 19:58 ` [PATCH v0.8 6/6] sched/umcg, lib/umcg: add tools/lib/umcg/libumcg.txt Peter Oskolkov
2021-11-09  8:55 ` Barry Song [this message]
2021-11-09 16:31   ` [PATCH v0.8 0/6] sched,mm,x86/uaccess: implement User Managed Concurrency Groups Peter Oskolkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAGsJ_4xRcu1P9EV0-9GF00n7Cg0=0=NRQ8dj1EAe4OZotWWfbQ@mail.gmail.com' \
    --to=21cnbao@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=avagin@google.com \
    --cc=bsegall@google.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=jannh@google.com \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=luto@kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=pjt@google.com \
    --cc=posk@google.com \
    --cc=posk@posk.io \
    --cc=tdelisle@uwaterloo.ca \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox