CCing Stefan.
On Wed, Jul 10, 2024 at 07:00:59PM GMT, Jakub Kicinski wrote:
On Wed, 10 Jul 2024 13:58:39 +0200 Stefano Garzarella wrote:
There is a comment there:
# Avoid changing the rest of the logic here and lib.mk.
Added by commit 17eac6c2db8b2cdfe33d40229bdda2acd86b304a.
IIUC they
On 10.07.24 18:01, David Woodhouse wrote:
> On Wed, 2024-07-10 at 15:07 +0200, Peter Hilber wrote:
>> On 08.07.24 11:27, David Woodhouse wrote:
>>> From: David Woodhouse
>>>
>>> The vmclock "device" provides a shared memory region with precision clock
>>> information. By using shared memory, it is
On Thu, 2024-07-11 at 09:25 +0200, Peter Hilber wrote:
>
> IMHO this phrasing is better, since it directly refers to the state of the
> structure.
Thanks. I'll update it.
> AFAIU if there would be abnormal delays in store buffers, causing some
> driver to still see the old clock for some time, t
On Wed, Jul 10, 2024 at 06:30:22PM +0200, Oleg Nesterov wrote:
> On 07/10, Oleg Nesterov wrote:
> >
> > Peter, these simple cleanups should not conflict with your changes,
> > but I can resend them later if it causes any inconvenience.
>
> In fact I would like to push 2 more cleanups before the mo
The header file linux/bootconfig.h is included whether __KERNEL__ is
defined or not.
Include it only once before the #ifdef/#else/#endif preprocessor
directives and remove the following make includecheck warning:
linux/bootconfig.h is included more than once
Move the comment to the top and del
On 07/11, Peter Zijlstra wrote:
>
> On Wed, Jul 10, 2024 at 06:30:22PM +0200, Oleg Nesterov wrote:
> >
> > In fact I would like to push 2 more cleanups before the more significant
> > changes, but they certainly conflict with your ongoing work, albeit only
> > textually.
> >
> > Let me send the pat
Sorry for the noise, resending the email in text format
Hi All,
My answers inline below
>> Any specific reason to pre-create those large number of vdpa devices of the
>> pool?
>> I was hoping to create vdpa device with needed attributes, when spawning a
>> kubevirt instance.
>> K8s DRA infrast
On 07/10, Oleg Nesterov wrote:
>
> -void uprobe_unregister(struct inode *inode, loff_t offset, struct
> uprobe_consumer *uc)
> +void uprobe_unregister(struct uprobe *uprobe, struct uprobe_consumer *uc)
> {
> - struct uprobe *uprobe;
> -
> - uprobe = find_uprobe(inode, offset);
> - if
Specifically, get rid of the uprobe->consumers re-load, which isn't
sound under RCU.
Signed-off-by: Peter Zijlstra (Intel)
---
kernel/events/uprobes.c | 17 ++---
1 file changed, 14 insertions(+), 3 deletions(-)
--- a/kernel/events/uprobes.c
+++ b/kernel/events/uprobes.c
@@ -2101,
In order to support carrying an srcu_read_lock() section across fork,
where both the parent and child process will do: srcu_read_unlock(),
it is needed to account for the extra decrement with an extra
increment at fork time.
Signed-off-by: Peter Zijlstra (Intel)
---
include/linux/srcu.h |
Hi!
These patches implement the (S)RCU based proposal to optimize uprobes.
On my c^Htrusty old IVB-EP -- where each (of the 40) CPU calls 'func' in a
tight loop:
perf probe -x ./uprobes test=func
perf stat -ae probe_uprobe:test -- sleep 1
perf probe -x ./uprobes test=func%return
perf s
With handle_swbp() triggering concurrently on (all) CPUs, tree_lock
becomes a bottleneck. Avoid treelock by doing RCU lookups of the
uprobe.
Signed-off-by: Peter Zijlstra (Intel)
---
kernel/events/uprobes.c | 49 +++-
1 file changed, 40 insertions(+)
Remove the silly label indenting.
s/^\ \([[:alnum:]]*\):$/\1:/g
Signed-off-by: Peter Zijlstra (Intel)
---
kernel/events/uprobes.c | 26 +-
1 file changed, 13 insertions(+), 13 deletions(-)
--- a/kernel/events/uprobes.c
+++ b/kernel/events/uprobes.c
@@ -205,7 +205,7 @
With handle_swbp() hitting concurrently on (all) CPUs, potentially on
the same uprobe, the uprobe->refcount can get *very* hot. Move the
struct uprobe lifetime into uprobes_srcu such that it covers both the
uprobe and the uprobe->consumers list.
With this, handle_swbp() can use a single large SRCU
With handle_swbp() hitting concurrently on (all) CPUs the
uprobe->register_rwsem can get very contended. Add an SRCU instance to
cover the consumer list and consumer lifetime.
Since the consumer are externally embedded structures, unregister will
have to suffer a synchronize_srcu().
A notably com
In order to put a bound on the uretprobe_srcu critical section, add a
timer to uprobe_task. Upon every RI added or removed the timer is
pushed forward to now + 1s. If the timer were ever to fire, it would
convert the SRCU 'reference' to a refcount reference if possible.
Signed-off-by: Peter Zijlst
Signed-off-by: Peter Zijlstra (Intel)
---
kernel/events/uprobes.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
--- a/kernel/events/uprobes.c
+++ b/kernel/events/uprobes.c
@@ -67,7 +67,7 @@ struct uprobe {
* The generic code assumes that it has two members of un
With uprobe_unregister() having grown a synchronize_srcu(), it becomes
fairly slow to call. Esp. since both users of this API call it in a
loop.
Peel off the sync_srcu() and do it once, after the loop.
Signed-off-by: Peter Zijlstra (Intel)
Acked-by: Masami Hiramatsu (Google)
---
include/linux/
Much like latch_tree, add two RCU methods for the regular RB-tree,
which can be used in conjunction with a seqcount to provide lockless
lookups.
Signed-off-by: Peter Zijlstra (Intel)
Reviewed-by: Masami Hiramatsu (Google)
---
include/linux/rbtree.h | 67 +++
Both single-step and uretprobes take a refcount on struct uprobe in
handle_swbp() in order to ensure struct uprobe stays extant until a
next trap.
Since uprobe_unregister() only cares about the uprobe_consumer
life-time, and these intra-trap sections can be arbitrarily large,
create a second SRCU
On Thu, Jul 11, 2024 at 01:02:36PM +0200, Peter Zijlstra wrote:
SNIP
> @@ -1159,7 +1159,7 @@ static int __uprobe_register(struct inod
> if (!IS_ALIGNED(ref_ctr_offset, sizeof(short)))
> return -EINVAL;
>
> - retry:
> +retry:
> uprobe = alloc_uprobe(inode, offset, ref_c
On Thu, Jul 11, 2024 at 01:58:04PM +0200, Jiri Olsa wrote:
> On Thu, Jul 11, 2024 at 01:02:36PM +0200, Peter Zijlstra wrote:
>
> SNIP
>
> > @@ -1159,7 +1159,7 @@ static int __uprobe_register(struct inod
> > if (!IS_ALIGNED(ref_ctr_offset, sizeof(short)))
> > return -EINVAL;
> >
Hi Wolfram,
On Sat, Jul 06, 2024 at 01:20:58PM GMT, Wolfram Sang wrote:
> Change the wording of this driver wrt. the newest I2C v7 and SMBus 3.2
> specifications and replace "master/slave" with more appropriate terms.
>
> Signed-off-by: Wolfram Sang
Reviewed-by: Andi Shyti
Thanks,
Andi
Hi Wolfram,
pushed in i2c/i2c-host.
Thanks for this big work, at the end it turned out quite nice and
I'm happy of the outcome!
Thanks
Andi
On Sat, Jul 06, 2024 at 01:20:00PM GMT, Wolfram Sang wrote:
> Start changing the wording of the I2C main header wrt. the newest I2C
> v7 and SMBus 3.2 spec
Not sure I read this patch correctly, but at first glance it looks
suspicious..
On 07/11, Peter Zijlstra wrote:
>
> +static void return_instance_timer(struct timer_list *timer)
> +{
> + struct uprobe_task *utask = container_of(timer, struct uprobe_task,
> ri_timer);
> + task_work_add(utas
us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url:
https://github.com/intel-lab-lkp/linux/commits/Michael-S-Tsirkin/virtio_balloon-add-work-around-for-out-of-spec-QEMU/20240711-0
us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url:
https://github.com/intel-lab-lkp/linux/commits/Michael-S-Tsirkin/virtio_balloon-add-work-around-for-out-of-spec-QEMU/20240711-0
On Thu, Jul 11, 2024 at 09:07:04AM +0200, Stefano Garzarella wrote:
> CCing Stefan.
>
> On Wed, Jul 10, 2024 at 07:00:59PM GMT, Jakub Kicinski wrote:
> > On Wed, 10 Jul 2024 13:58:39 +0200 Stefano Garzarella wrote:
> > > There is a comment there:
> > >
> > > # Avoid changing the rest of the
On Thu, 11 Jul 2024 13:02:39 +0200
Peter Zijlstra wrote:
> With handle_swbp() triggering concurrently on (all) CPUs, tree_lock
> becomes a bottleneck. Avoid treelock by doing RCU lookups of the
> uprobe.
>
Looks good to me.
Acked-by: Masami Hiramatsu (Google)
Thanks,
> Signed-off-by: Peter
On Thu, Jul 11, 2024 at 01:02:43PM +0200, Peter Zijlstra wrote:
SNIP
> /* Tracing handlers use ->utask to communicate with fetch methods */
> if (!get_utask())
> - goto out;
> + return;
>
> if (arch_uprobe_ignore(&uprobe->arch, regs))
> - go
On Thu, 4 Jul 2024 13:03:47 +0200
Petr Pavlu wrote:
> > I'm dumb. What's an "era"?
>
> I meant it as a calendar era or epoch. The idea was to hint this is
> a number that identifies some structural state of the pages list. Maybe
> pages_gen ("generation") or another name would be better?
Ah,
On Thu, 11 Jul 2024 15:38:01 +0200 Stefan Hajnoczi wrote:
> > Usually vsock tests test both the driver (virtio-vsock) in the guest and the
> > device in the host kernel (vhost-vsock). So I usually run the tests in 2
> > nested VMs to test the latest changes for both the guest and the host.
> >
> >
On Wed, 10 Jul 2024 at 02:42, Shun-yi Wang wrote:
>
> From: "shun-yi.wang"
>
> In order to reserve specific Contiguous Memory Allocator (CMA) regions
> for hardware use. When the name of the reserved region contains "cma",
> then a corresponding CMA heap is added.
>
> Signed-off-by: shun-yi.wang
On Thu, 4 Jul 2024 22:12:45 +0200
Jesper Dangaard Brouer wrote:
> >
> > WARNING: possible recursive locking detected
> > 6.10.0-rc2-syzkaller-00797-ga12978712d90 #0 Not tainted
> >
> > syz-executor646/5097 i
> Thanks for this big work, at the end it turned out quite nice and
> I'm happy of the outcome!
Me too. And thanks for the enormous review work!
signature.asc
Description: PGP signature
sock/virtio: refactor virtio_transport_send_pkt_work
net/vmw_vsock/virtio_transport.c | 143 +--
1 file changed, 93 insertions(+), 50 deletions(-)
---
base-commit: 58f9416d413aa2c20b2515233ce450a1607ef843
change-id: 20240711-pinna-49bf0ab09909
Best regards,
--
Luigi Leonardi
From: Luigi Leonardi
Introduce an optimization in virtio_transport_send_pkt:
when the work queue (send_pkt_queue) is empty the packet is
put directly in the virtqueue increasing the throughput.
In the following benchmark (pingpong mode) the host sends
a payload to the guest and waits for the sam
From: Marco Pinna
Preliminary patch to introduce an optimization to the
enqueue system.
All the code used to enqueue a packet into the virtqueue
is removed from virtio_transport_send_pkt_work()
and moved to the new virtio_transport_send_skb() function.
Co-developed-by: Luigi Leonardi
Signed-of
On Thu, Jul 11, 2024 at 03:19:19PM +0200, Oleg Nesterov wrote:
> Not sure I read this patch correctly, but at first glance it looks
> suspicious..
>
> On 07/11, Peter Zijlstra wrote:
> >
> > +static void return_instance_timer(struct timer_list *timer)
> > +{
> > + struct uprobe_task *utask = con
Hello RT-list!
I'm pleased to announce the 5.10.221-rt113 stable release.
This release is just an update to the new stable 5.10.221
version and no RT specific changes have been made.
You can get this release via the git tree at:
git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt
On Wed, 10 Jul 2024 18:31:11 +0200
Oleg Nesterov wrote:
> From: Andrii Nakryiko
>
> Return -ENOMEM instead of NULL, which makes caller's error handling just
> a touch simpler.
>
> Signed-off-by: Andrii Nakryiko
> Signed-off-by: Oleg Nesterov
Looks good to me.
Reviewed-by: Masami Hiramatsu
On Thu, Jul 11, 2024 at 05:00:54PM +0200, Peter Zijlstra wrote:
> Let me ponder that a little, I *can* make it work, but all 'solutions'
> I've come up with so far are really rather vile.
This is the least horrible solution I could come up with...
---
--- a/include/linux/uprobes.h
+++ b/include/
On Thu, Jul 11, 2024 at 05:55:42PM +0200, Peter Zijlstra wrote:
> On Thu, Jul 11, 2024 at 05:00:54PM +0200, Peter Zijlstra wrote:
>
> > Let me ponder that a little, I *can* make it work, but all 'solutions'
> > I've come up with so far are really rather vile.
>
> This is the least horrible soluti
I'll try to actually apply the whole series and read the code tomorrow.
Right now I can't understand this change... Just one question for now.
On 07/11, Peter Zijlstra wrote:
>
> @@ -1956,11 +1960,13 @@ static void prepare_uretprobe(struct upr
>* attack from user-space.
>
On Thu, Jul 11, 2024 at 2:28 AM Oleg Nesterov wrote:
>
> On 07/10, Oleg Nesterov wrote:
> >
> > -void uprobe_unregister(struct inode *inode, loff_t offset, struct
> > uprobe_consumer *uc)
> > +void uprobe_unregister(struct uprobe *uprobe, struct uprobe_consumer *uc)
> > {
> > - struct uprobe
On 6/2/24 23:45, Masami Hiramatsu (Google) wrote:
On Mon, 3 Jun 2024 11:25:59 +0800
"wuqiang.matt" wrote:
On 2024/6/1 08:31, Jeff Johnson wrote:
make allmodconfig && make W=1 C=1 reports:
WARNING: modpost: missing MODULE_DESCRIPTION() in lib/test_objpool.o
Add the missing invocation of the M
On 07/11, Andrii Nakryiko wrote:
>
> On Thu, Jul 11, 2024 at 2:28 AM Oleg Nesterov wrote:
> >
> > On 07/10, Oleg Nesterov wrote:
> > >
> > > -void uprobe_unregister(struct inode *inode, loff_t offset, struct
> > > uprobe_consumer *uc)
> > > +void uprobe_unregister(struct uprobe *uprobe, struct up
On Thu, Jul 11, 2024 at 06:06:53PM +0200, Oleg Nesterov wrote:
> I'll try to actually apply the whole series and read the code tomorrow.
> Right now I can't understand this change... Just one question for now.
>
> On 07/11, Peter Zijlstra wrote:
> >
> > @@ -1956,11 +1960,13 @@ static void prepare_
On 6/23/24 10:36, Jeff Johnson wrote:
On 6/2/2024 1:25 PM, Jeff Johnson wrote:
make allmodconfig && make W=1 C=1 reports:
WARNING: modpost: missing MODULE_DESCRIPTION() in
drivers/virtio/virtio_dma_buf.o
Add the missing invocation of the MODULE_DESCRIPTION() macro.
Signed-off-by: Jeff Johnson
On Thu, Jul 11, 2024 at 11:43:18AM -0700, Jeff Johnson wrote:
> On 6/23/24 10:36, Jeff Johnson wrote:
> > On 6/2/2024 1:25 PM, Jeff Johnson wrote:
> > > make allmodconfig && make W=1 C=1 reports:
> > > WARNING: modpost: missing MODULE_DESCRIPTION() in
> > > drivers/virtio/virtio_dma_buf.o
> > >
>
E-mails to Conghui Chen have bounced back:
: host mgamail.eglb.intel.com[198.175.65.14] said: 550
#5.1.0 Address rejected. (in reply to RCPT TO command)
Remove him as maintainer of the i2c Virtio driver in the
MAINTAINERS file.
Signed-off-by: Andi Shyti
Cc: Viresh Kumar
Cc: Wolfram San
On Thu, 11 Jul 2024 10:43:16 +0200
Thorsten Blum wrote:
> The header file linux/bootconfig.h is included whether __KERNEL__ is
> defined or not.
>
> Include it only once before the #ifdef/#else/#endif preprocessor
> directives and remove the following make includecheck warning:
>
> linux/boot
Hi,
while reviewing Wolfram's series, I received some delivery
failure notifications for e-mails that don't exist anymore.
With this series I'm removing:
- Conghui Chen
- Thor Thayer
unfortunately both from Intel :-(
In the case of Altera's subsystems (except for the i2c), I didn't
really
From: Masami Hiramatsu (Google)
Add uprobes entry to MAINTAINERS to clarify the maintainers.
Suggested-by: Peter Zijlstra
Signed-off-by: Masami Hiramatsu (Google)
---
MAINTAINERS | 13 +
1 file changed, 13 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index da5352dbd4f3.
On Thu, Jul 11, 2024 at 4:07 AM Peter Zijlstra wrote:
>
> Hi!
>
> These patches implement the (S)RCU based proposal to optimize uprobes.
>
> On my c^Htrusty old IVB-EP -- where each (of the 40) CPU calls 'func' in a
> tight loop:
>
> perf probe -x ./uprobes test=func
> perf stat -ae probe_upro
On Fri, Jul 12, 2024 at 01:19:24AM +0200, Andi Shyti wrote:
> Hi,
>
> while reviewing Wolfram's series, I received some delivery
> failure notifications for e-mails that don't exist anymore.
>
> With this series I'm removing:
>
> - Conghui Chen
> - Thor Thayer
Fixes for these two are alread
56 matches
Mail list logo