[PATCH v3 0/3] livepatch,sched: Add livepatch task switching to cond_resched()

Josh Poimboeuf posted 3 patches 2 years, 6 months ago
drivers/vhost/vhost.c           |   3 +-
include/linux/livepatch.h       |   1 +
include/linux/livepatch_sched.h |  29 ++++++++
include/linux/sched.h           |  20 ++++--
kernel/livepatch/core.c         |   1 +
kernel/livepatch/transition.c   | 113 +++++++++++++++++++++++++++-----
kernel/sched/core.c             |  64 +++++++++++++++---
7 files changed, 200 insertions(+), 31 deletions(-)
create mode 100644 include/linux/livepatch_sched.h
[PATCH v3 0/3] livepatch,sched: Add livepatch task switching to cond_resched()
Posted by Josh Poimboeuf 2 years, 6 months ago
v3:
- Add barriers (pmladek)
- Update comments

v2:
- Avoid calling klp_cond_resched_disable() in klp_cancel_transition()
- Fix race in klp_reverse_transition()

Fix patching stalls caused by busy kthreads.

Josh Poimboeuf (3):
  livepatch: Skip task_call_func() for current task
  livepatch,sched: Add livepatch task switching to cond_resched()
  vhost: Fix livepatch timeouts in vhost_worker()

 drivers/vhost/vhost.c           |   3 +-
 include/linux/livepatch.h       |   1 +
 include/linux/livepatch_sched.h |  29 ++++++++
 include/linux/sched.h           |  20 ++++--
 kernel/livepatch/core.c         |   1 +
 kernel/livepatch/transition.c   | 113 +++++++++++++++++++++++++++-----
 kernel/sched/core.c             |  64 +++++++++++++++---
 7 files changed, 200 insertions(+), 31 deletions(-)
 create mode 100644 include/linux/livepatch_sched.h

-- 
2.39.1
Re: [PATCH v3 0/3] livepatch,sched: Add livepatch task switching to cond_resched()
Posted by Miroslav Benes 2 years, 5 months ago
On Fri, 24 Feb 2023, Josh Poimboeuf wrote:

> v3:
> - Add barriers (pmladek)
> - Update comments
> 
> v2:
> - Avoid calling klp_cond_resched_disable() in klp_cancel_transition()
> - Fix race in klp_reverse_transition()
> 
> Fix patching stalls caused by busy kthreads.
> 
> Josh Poimboeuf (3):
>   livepatch: Skip task_call_func() for current task
>   livepatch,sched: Add livepatch task switching to cond_resched()
>   vhost: Fix livepatch timeouts in vhost_worker()
> 
>  drivers/vhost/vhost.c           |   3 +-
>  include/linux/livepatch.h       |   1 +
>  include/linux/livepatch_sched.h |  29 ++++++++
>  include/linux/sched.h           |  20 ++++--
>  kernel/livepatch/core.c         |   1 +
>  kernel/livepatch/transition.c   | 113 +++++++++++++++++++++++++++-----
>  kernel/sched/core.c             |  64 +++++++++++++++---
>  7 files changed, 200 insertions(+), 31 deletions(-)
>  create mode 100644 include/linux/livepatch_sched.h

Late, so just recording it here...

Acked-by: Miroslav Benes <mbenes@suse.cz>

Thanks for improving the situation, Josh.

M
Re: [PATCH v3 0/3] livepatch,sched: Add livepatch task switching to cond_resched()
Posted by Seth Forshee 2 years, 6 months ago
On Fri, Feb 24, 2023 at 08:49:58AM -0800, Josh Poimboeuf wrote:
> v3:
> - Add barriers (pmladek)
> - Update comments
> 
> v2:
> - Avoid calling klp_cond_resched_disable() in klp_cancel_transition()
> - Fix race in klp_reverse_transition()
> 
> Fix patching stalls caused by busy kthreads.

I ran the v3 patches through my reproducer, still working great.

Thanks,
Seth