Re: [GIT PULL] Modules fixes for v6.15-rc6

2025-05-12 Thread Linus Torvalds
On Mon, 12 May 2025 at 11:14, Dmitry Antipov wrote: > > Technically speaking you're right, and I will take notice on that for > further commits. OTOH replying with "please adjust commit message and > send v2" could be the way faster. I suspect it ends up depending on the people. Personally, I te

Re: [GIT PULL] Modules fixes for v6.15-rc6

2025-05-09 Thread Linus Torvalds
On Fri, 9 May 2025 at 08:09, Petr Pavlu wrote: > > The fix has been on modules-next only since yesterday but should be safe. Hmm. At a minimum, the *description* of this bug is garbage. It talks about an "uninitialized completion pointer", but then the fix actually depends on it being initializ

Re: [PATCH v3] kbuild: keep symbols for symbol_get() even with CONFIG_TRIM_UNUSED_KSYMS

2025-02-01 Thread Linus Torvalds
On Sat, 1 Feb 2025 at 10:51, Masahiro Yamada wrote: > > This commit addresses the issue by leveraging modpost. Symbol names > passed to symbol_get() are recorded in the special .no_trim_symbol > section, which is then parsed by modpost to forcibly keep such symbols. > The .no_trim_symbol section i

Re: [GIT PULL] RCU changes for v6.14

2025-01-21 Thread Linus Torvalds
On Fri, 17 Jan 2025 at 09:24, Uladzislau Rezki (Sony) wrote: > > Please pull the latest RCU git tree from: > > git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git > tags/rcu.release.v6.14 Hmm. I have pulled this, and the resulting shortlog matches what you say I should have gotten. But

Re: [GIT PULL] Modules fixes for v6.14-rc5

2024-12-23 Thread Linus Torvalds
On Mon, 23 Dec 2024 at 02:55, Petr Pavlu wrote: > > Luis asked me to look after the modules maintenance for a while, with the > plan to rotate it with other recently added modules maintainers/reviewers. > This is my first pull request to you. I *really* want maintainers to give me a heads up befo

Re: [PATCH -v2 1/7] module: Convert symbol namespace to string literal

2024-12-02 Thread Linus Torvalds
On Mon, 2 Dec 2024 at 07:15, Peter Zijlstra wrote: > > Perhaps we can ask Linus to run this now, before -next fills up again ? Sure. I did an unasked-for scripted 'remove_new' removal right after rc1 for the same reason. If we have these kinds of big scripted things, right after the merge window

Re: [GIT PULL] Modules fixes for v6.13-rc1

2024-11-29 Thread Linus Torvalds
On Thu, 28 Nov 2024 at 11:27, Luis Chamberlain wrote: > > This consists of 3 fixes, the main one build that we build the kallsyms > test modules all over again if we just run make twice. Thanks, my empty builds went from 43s back to 23s where they belong. (Obviously when some core header file ch

Re: [GIT PULL] Modules changes for v6.13-rc1

2024-11-27 Thread Linus Torvalds
On Wed, 27 Nov 2024 at 15:26, Luis Chamberlain wrote: > > On Wed, Nov 27, 2024 at 02:35:36PM -0800, Luis Chamberlain wrote: > > Sorry about that, I'm on it. > > OK here is a fix, goes double build tested and then run time tested. No, you misunderstand. I don't mind the tests being built. That's

Re: [GIT PULL] Modules changes for v6.13-rc1

2024-11-27 Thread Linus Torvalds
On Tue, 26 Nov 2024 at 17:10, Luis Chamberlain wrote: > > Highlights for this merge window: Lowlights: > * Adds a new modules selftests: kallsyms which helps us tests find_symbol() > and the limits of kallsyms on Linux today. This is completely broken. Try doing "make allmodconfig" and t

Re: [PATCH] KVM: selftests: Fix build on on non-x86 architectures

2024-10-21 Thread Linus Torvalds
On Mon, 21 Oct 2024 at 15:16, Mark Brown wrote: > > Fix this by making the addition of this x86 specific command line flag > conditional on building for x86. Applied directly, just to have this silly thing done with. Thanks, Linus

Re: [RFC PATCH 0/4] sched+mm: Track lazy active mm existence with hazard pointers

2024-10-05 Thread Linus Torvalds
On Sat, 5 Oct 2024 at 09:16, Peter Zijlstra wrote: > > On Wed, Oct 02, 2024 at 10:39:15AM -0700, Linus Torvalds wrote: > > So I think the real issue is that "active_mm" is an old hack from a > > bygone era when we didn't have the (much more involved) full TLB

Re: [RFC PATCH 0/4] sched+mm: Track lazy active mm existence with hazard pointers

2024-10-02 Thread Linus Torvalds
On Tue, 1 Oct 2024 at 18:04, Mathieu Desnoyers wrote: > > Hazard pointers appear to be a good fit for replacing refcount based lazy > active mm tracking. If the mm refcount is this expensive, I suspect we really shouldn't use it at all. The thing is, we don't _need_ to use the mm refcount - the

Re: [RFC PATCH 1/4] hazptr: Add initial implementation of hazard pointers

2024-09-27 Thread Linus Torvalds
On Fri, 27 Sept 2024 at 12:28, Linus Torvalds wrote: > > Dammit, people, read the code I posted. Actually, no, apologies. You were right, and I was wrong. It does need both of the sources of the comparison to be hidden, because while even hiding just one side makes the comparison

Re: [RFC PATCH 1/4] hazptr: Add initial implementation of hazard pointers

2024-09-27 Thread Linus Torvalds
On Fri, 27 Sept 2024 at 12:12, Jonas Oberhauser wrote: > > I think it depends on which one you hide. No. Dammit, people, read the code I posted. > But for > > z = a; > hide(z); > if (z==b) { *b; } No. I *intentionally* made it an inline function, and only hid the arguments to the equali

Re: [RFC PATCH 1/4] hazptr: Add initial implementation of hazard pointers

2024-09-27 Thread Linus Torvalds
On Fri, 27 Sept 2024 at 10:53, Mathieu Desnoyers wrote: > > > (b) the value barrier needs to be on *both* values so that the order > > of the equality testing doesn't matter. > > If we use OPTIMIZER_HIDE_VAR() on both parameters, it indeed minimizes > the odds that someone get the order wrong, b

Re: [RFC PATCH 1/4] hazptr: Add initial implementation of hazard pointers

2024-09-27 Thread Linus Torvalds
On Fri, 27 Sept 2024 at 10:17, Mathieu Desnoyers wrote: > > The barrier() is ineffective at fixing the issue. > It does not prevent the compiler CSE from losing the > address dependency: Ok. Thanks for actually specifying code. That needs to be (a) in a comment (b) the value barrier needs to

Re: [RFC PATCH 1/4] hazptr: Add initial implementation of hazard pointers

2024-09-27 Thread Linus Torvalds
On Thu, 26 Sept 2024 at 18:38, Boqun Feng wrote: > > Note that ADDRESS_EQ() only hide first parameter, so this should be > ADDRESS_EQ(b, a). Yeah, please stop making things unnecessarily complicated. Just use a barrier(). Please. Stop these stupid games until you can show why it matters. And b

Re: [RFC PATCH 1/4] hazptr: Add initial implementation of hazard pointers

2024-09-26 Thread Linus Torvalds
On Thu, 26 Sept 2024 at 08:54, Jonas Oberhauser wrote: > > No, the issue introduced by the compiler optimization (or by your > original patch) is that the CPU can speculatively load from the first > pointer as soon as it has completed the load of that pointer: You mean the compiler can do it. The

Re: [RFC PATCH 1/4] hazptr: Add initial implementation of hazard pointers

2024-09-26 Thread Linus Torvalds
On Thu, 26 Sept 2024 at 09:40, Jonas Oberhauser wrote: > > Boqun seems to be unhappy with a barrier though, because it would > theoretically also forbid unrelated optimizations. Well, doing a "barrier()" is kind of a big hammer thing, but honestly, I don't think we've ever seen any real situation

Re: [GIT PULL] remoteproc updates for v6.12

2024-09-24 Thread Linus Torvalds
On Tue, 24 Sept 2024 at 12:31, Linus Torvalds wrote: > > It's in my tree now, but please fix asap. Argh, now that I noticed it, I can no longer unsee it. So I did this - depends on ARCH_K3 || COMPILE_TEST + depends on ARCH_OMAP2PLUS || ARCH_K3 to the TI_K3_M4_REMOTEPR

Re: [GIT PULL] remoteproc updates for v6.12

2024-09-24 Thread Linus Torvalds
On Mon, 23 Sept 2024 at 21:44, Bjorn Andersson wrote: > > remoteproc updates for v6.12 Grr. I didn't immediately notice this new Kconfig warning, so now it's in my tree: WARNING: unmet direct dependencies detected for OMAP2PLUS_MBOX Depends on [n]: MAILBOX [=y] && (ARCH_OMAP2PLUS || ARCH_K

Re: [RFC PATCH 0/4] Add hazard pointers to kernel

2024-09-19 Thread Linus Torvalds
On Thu, 19 Sept 2024 at 16:15, Christoph Hellwig wrote: > > Agreed. From the description this would seem like a good fit for > q_usage_counter in the block layer, which currently makes creative use > of percpu counters. Yes, if this actually could simplify code that currently used percpu counter

Re: [RFC PATCH 0/4] Add hazard pointers to kernel

2024-09-18 Thread Linus Torvalds
On Thu, 19 Sept 2024 at 00:44, Neeraj Upadhyay wrote: > > While we were working on this problem, this refcount scalability issue got > resolved recently with conditional ref acquisition [3] (however, there are > new > developments in apparmor code which might bring back the refcount problem > [

Re: [RFC PATCH 0/4] Add hazard pointers to kernel

2024-09-18 Thread Linus Torvalds
On Tue, 17 Sept 2024 at 16:34, Boqun Feng wrote: > > This series introduces hazard pointers [1] to kernel space. A TL;DR > description of hazard pointers is "a scalable refcounting mechanim > with RCU-like API". More information can be found at [2]. Please give actual "this is useful for X, and h

Re: [GIT PULL] slab updates for 6.11

2024-09-18 Thread Linus Torvalds
On Mon, 16 Sept 2024 at 11:45, Vlastimil Babka wrote: > > There's a small conflict with the rcu tree: > https://lore.kernel.org/lkml/20240812124748.37250...@canb.auug.org.au/ Hmm. The conflict resolution is trivial, but the code itself looks buggy. Look here, commit 2b55d6a42d14 ("rcu/kvfree: Ad

Re: [GIT PULL] DAX for 6.11

2024-08-16 Thread Linus Torvalds
On Fri, 16 Aug 2024 at 10:15, Ira Weiny wrote: > > Ira Weiny wrote: > > Hi Linux, please pull from > ^ > Linus. > > Apologies, Heh. I've been called worse. And it's a fairly common typo with people whose fingers are used to type "Linux" and do so on auto-pilot. I have an evil twin

Re: [PATCH] vfs: Add AT_EMPTY_PATH_NOCHECK as unchecked AT_EMPTY_PATH

2024-06-22 Thread Linus Torvalds
On Sat, 22 Jun 2024 at 14:25, Mateusz Guzik wrote: > > +cc Linus Thanks. > To sum up the problem: stat and statx met with "" + AT_EMPTY_PATH have > more work to do than fstat and its hypotethical statx counterpart: > - buf alloc/free for the path > - userspace access (very painful on x86_64 + SM

Re: [GIT PULL] remoteproc updates for v6.9

2024-03-21 Thread Linus Torvalds
On Thu, 21 Mar 2024 at 11:03, Bjorn Andersson wrote: > > I was further notified that this conflicts with your tree, Linus. Below > is the resolution for this conflict. Heh. This email came in after the pr-tracker-bot email notifying you that it's already done.. I think I got it all right, it did

Re: [GIT PULL] virtio: features, fixes

2024-03-19 Thread Linus Torvalds
On Tue, 19 Mar 2024 at 00:41, Michael S. Tsirkin wrote: > > virtio: features, fixes > > Per vq sizes in vdpa. > Info query for block devices support in vdpa. > DMA sync callbacks in vduse. > > Fixes, cleanups. Grr. I thought the merge message was a bit too terse, but I let it slide. But only aft

Re: [PATCH 0/6] tracing/ring-buffer: Fix wakeup of ring buffer waiters

2024-03-08 Thread Linus Torvalds
On Fri, 8 Mar 2024 at 13:39, Linus Torvalds wrote: > > So the above "complexity" is *literally* just changing the > > (new = atomic_read_acquire(&my->seq)) != old > > condition to > > should_exit || >

Re: [PATCH 0/6] tracing/ring-buffer: Fix wakeup of ring buffer waiters

2024-03-08 Thread Linus Torvalds
On Fri, 8 Mar 2024 at 13:33, Steven Rostedt wrote: > > There's two layers: > > 1) the ring buffer has the above simple producer / consumer. >Where the wake ups can happen at the point of where the buffer has >the amount filled that the consumer wants to start consuming with. > > 2) The tra

Re: [PATCH 0/6] tracing/ring-buffer: Fix wakeup of ring buffer waiters

2024-03-08 Thread Linus Torvalds
On Fri, 8 Mar 2024 at 10:38, Steven Rostedt wrote: > > A patch was sent to "fix" the wait_index variable that is used to help with > waking of waiters on the ring buffer. The patch was rejected, but I started > looking at associated code. Discussing it on IRC with Mathieu Desnoyers > we discovered

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-31 Thread Linus Torvalds
On Wed, 31 Jan 2024 at 07:58, Steven Rostedt wrote: > > BTW, I ran my full test suite on your patches with the below updates and it > all passed. Those patch updates all look sane to me. > I can break up and clean up the patches so that they are bisectable, and if > that passes the bisectable po

Re: [PATCH 5/6] eventfs: get rid of dentry pointers without refcounts

2024-01-31 Thread Linus Torvalds
On Wed, 31 Jan 2024 at 05:14, Steven Rostedt wrote: > > If you also notice, tracefs only allows mkdir/rmdir to be assigned to > one directory. Once it is assigned, no other directories can have mkdir > rmdir functionality. I think that does limit the damage, but it's not clear that it is actually

Re: [PATCH 5/6] eventfs: get rid of dentry pointers without refcounts

2024-01-30 Thread Linus Torvalds
On Tue, 30 Jan 2024 at 21:57, Linus Torvalds wrote: > > Ugh. Oh, and double-ugh on that tracefs_syscall_mkdir/rmdir(). I hate how it does that "unlock and re-lock inode" thing. It's a disease, and no, it's not an acceptable response to "lockdep shows there

Re: [PATCH 5/6] eventfs: get rid of dentry pointers without refcounts

2024-01-30 Thread Linus Torvalds
On Tue, 30 Jan 2024 at 21:33, Steven Rostedt wrote: > > With even the last patch included, without the d_invalidate() I get errors > with simply doing: > > # cd /sys/kernel/tracing > # mkdir instances/foo > # ls instances/foo/events > # rmdir instances/foo > > As the rmdir calls tracefs_remove

Re: [PATCH 5/6] eventfs: get rid of dentry pointers without refcounts

2024-01-30 Thread Linus Torvalds
On Tue, 30 Jan 2024 at 21:09, Steven Rostedt wrote: > > I would think that the last "put" would always have the "is_freed" set. The > WARN_ON is to catch things doing too many put_ei(). Yes, that looks sane to me. > > + simple_recursive_removal(dentry, NULL); > > Actually, this doesn't work.

Re: [PATCH 6/6] eventfs: clean up dentry ops and add revalidate function

2024-01-30 Thread Linus Torvalds
On Tue, 30 Jan 2024 at 18:46, Al Viro wrote: > > What's to stop ->d_revalidate() from being called in parallel with > __dentry_kill()? Oh, you're right. For some reason I thought we did the d_release() _after_ the RCU grace period, but we don't. Why don't we, btw? It would be so much better if

Re: [PATCH 6/6] eventfs: clean up dentry ops and add revalidate function

2024-01-30 Thread Linus Torvalds
On Tue, 30 Jan 2024 at 17:12, Al Viro wrote: > > > + * > > + * Note that d_revalidate is called potentially under RCU, > > + * so it can't take the eventfs mutex etc. It's fine - if > > + * we open a file just as it's marked dead, things will > > + * still work just fine, and just see the old stal

Re: [PATCH 3/6] tracefs: dentry lookup crapectomy

2024-01-30 Thread Linus Torvalds
On Tue, 30 Jan 2024 at 16:23, Al Viro wrote: > > On Tue, Jan 30, 2024 at 11:03:52AM -0800, Linus Torvalds wrote: > > { > > struct eventfs_inode *ei; > > > > - mutex_lock(&eventfs_mutex); > > do { > > // The

Re: [PATCH 5/6] eventfs: get rid of dentry pointers without refcounts

2024-01-30 Thread Linus Torvalds
On Tue, 30 Jan 2024 at 15:10, Steven Rostedt wrote: > > > > At which point a name pointer would *just* fit in 96 bytes. > > Does that mean I should keep the kstrdup_const()? You should check that my math matches reality and relevant configurations, but yes, at 96 bytes that should fit exactly in

Re: [PATCH 5/6] eventfs: get rid of dentry pointers without refcounts

2024-01-30 Thread Linus Torvalds
On Tue, 30 Jan 2024 at 14:56, Linus Torvalds wrote: > > With that, the base size of 'struct eventfs_inode' actually becomes 96 > bytes for me. It can be shrunk some more. The field ordering is suboptimal. Pointers are 8 bytes and 8-byte aligned, but 'struct kref'

Re: [PATCH 5/6] eventfs: get rid of dentry pointers without refcounts

2024-01-30 Thread Linus Torvalds
On Tue, 30 Jan 2024 at 14:55, Steven Rostedt wrote: > > Remember, the files don't have an ei allocated. Only directories. Crossed emails. > I then counted the length of the string - 7 bytes (which is the same as the > length of the string plus the '\0' character - 8 bytes) to accommodate the > p

Re: [PATCH 5/6] eventfs: get rid of dentry pointers without refcounts

2024-01-30 Thread Linus Torvalds
On Tue, 30 Jan 2024 at 13:52, Linus Torvalds wrote: > > Btw, you can look at name lengths in tracefs with something stupid like this: > > find . | sed 's:^.*/::' | tr -c '\n' . | sort | uniq -c Actually, since only directories have these 'ei' fields,

Re: [PATCH 5/6] eventfs: get rid of dentry pointers without refcounts

2024-01-30 Thread Linus Torvalds
On Tue, 30 Jan 2024 at 12:55, Steven Rostedt wrote: > > I'm going to be putting back the ei->name pointer as the above actually > adds more memory usage. I did it mainly because I hate having multiple different allocation sites that then have to do that kref_init() etc individually, and once ther

Re: [PATCH 6/6] eventfs: clean up dentry ops and add revalidate function

2024-01-30 Thread Linus Torvalds
On Tue, 30 Jan 2024 at 13:25, Steven Rostedt wrote: > > I actually find the dentry's sticking around when their ref counts go to > zero a feature. Tracing applications will open and close the eventfs files > many times. If the dentry were to be deleted on every close, it would need > to be create

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-30 Thread Linus Torvalds
On Tue, 30 Jan 2024 at 11:37, Steven Rostedt wrote: > > Do you want me to put this in my urgent branch and mark them for stable, > and then send them for 6.8? Hmm. I think the only one that fixes a _reported_ bug is that [PTCH 2/6]. And it turns out that while 'ti->private' really is entirely uni

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-30 Thread Linus Torvalds
On Tue, 30 Jan 2024 at 10:23, Steven Rostedt wrote: > > I know you don't send patches inlined anymore, which is a shame, because > patchwork takes care of all the administering when patches are inlined, and > I don't miss patches like I use to. I just sent the whole series as individual patches.,

[PATCH 6/6] eventfs: clean up dentry ops and add revalidate function

2024-01-30 Thread Linus Torvalds
, but they only tend to get freed at memory pressure rather than more proactively. But that's a separate issue. Signed-off-by: Linus Torvalds --- fs/tracefs/event_inode.c | 21 + fs/tracefs/inode.c | 27 ++- fs/tracefs/internal.h| 3 ++-

[PATCH 5/6] eventfs: get rid of dentry pointers without refcounts

2024-01-30 Thread Linus Torvalds
by having child dentries take a ref to the ei. As does the directory dentries. That makes the broken use case go away. Signed-off-by: Linus Torvalds --- fs/tracefs/event_inode.c | 245 --- fs/tracefs/internal.h| 9 +- 2 files changed, 80 insertions(+),

[PATCH 4/6] eventfs: remove unused 'd_parent' pointer field

2024-01-30 Thread Linus Torvalds
It's never used Signed-off-by: Linus Torvalds --- fs/tracefs/event_inode.c | 4 +--- fs/tracefs/internal.h| 2 -- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/fs/tracefs/event_inode.c b/fs/tracefs/event_inode.c index ad11063bdd53..1d0102bfd7da 100644 --- a/fs/tr

[PATCH 3/6] tracefs: dentry lookup crapectomy

2024-01-30 Thread Linus Torvalds
s. Which meant that any other lookup would possibly return ENOENT if it saw that negative dentry before the data rwas then later filled in. You could see it in the immesnse amount of nonsensical code that didn't actually just do lookups. Signed-off-by: Linus Torvalds --- fs/tr

[PATCH 2/6] eventfsfs: initialize the tracefs inode properly

2024-01-30 Thread Linus Torvalds
t assignment. Move the field initializations up to before the d_instantiate, and fix the use of uninitialized data. Signed-off-by: Linus Torvalds --- fs/tracefs/event_inode.c | 13 ++--- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/fs/tracefs/event_inode.c b/fs/trac

[PATCH 1/6] tracefs: avoid using the ei->dentry pointer unnecessarily

2024-01-30 Thread Linus Torvalds
ooking up extraneous data that is irrelevant. Signed-off-by: Linus Torvalds --- fs/tracefs/event_inode.c | 26 -- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/fs/tracefs/event_inode.c b/fs/tracefs/event_inode.c index 1c3dd0ad4660..2d128bedd654 100

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-30 Thread Linus Torvalds
On Tue, 30 Jan 2024 at 08:55, Linus Torvalds wrote: > > Let me just reboot into it to test that I got all the cases. > > It makes the code even more obvious, and avoids all the complexity. Yup, this works at least for the case you pointed out, and it really feels like the RightThin

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-30 Thread Linus Torvalds
On Tue, 30 Jan 2024 at 08:49, Steven Rostedt wrote: > > - On removal, I got rid of the SRCU callback and the work queue. > Instead, I find the dentry of the current eventfs_inode that is being > deleted by walking the ei->parent until I find the events inode that has > a dentry. I then use t

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-30 Thread Linus Torvalds
On Tue, 30 Jan 2024 at 06:39, Steven Rostedt wrote: > > On Tue, 30 Jan 2024 01:12:05 -0800 > > > > I suspect the solution is to make eventfs_create_dir() do the same as > > the events directory case does, and actually pin the directory dentry > > and save it off. > > I rather not have the create d

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-30 Thread Linus Torvalds
On Tue, 30 Jan 2024 at 00:43, Linus Torvalds wrote: > > I'll go back to bed, but I think the fix is something trivial like this: Almost. > + result = ERR_PTR(ENOENT); That needs a '-' in front of the ENOENT, otherwise you have a positive error number and thin

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-30 Thread Linus Torvalds
On Mon, 29 Jan 2024 at 19:56, Linus Torvalds wrote: > > But I've been staring at this code for too long, so I'm posting this > just as a "it's broken, but _something_ like this", because I'm taking > a break from looking at this. Bah. I literally woke u

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-29 Thread Linus Torvalds
On Mon, 29 Jan 2024 at 17:50, Linus Torvalds wrote: > > So what I propose is that > > - ei->dentry and ei->d_children[] need to die. Really. They are > buggy. There is no way to save them. There never was. > > - but we *can* introduce a new 'ei->events_d

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-29 Thread Linus Torvalds
On Mon, 29 Jan 2024 at 16:35, Steven Rostedt wrote: > > # echo 'p:sched schedule' >> /sys/kernel/tracing/kprobe_events > # ls -l events/kprobes/ > ls: cannot access 'events/kprobes/': No such file or directory > > Where it should now exist but doesn't. But the lookup code never triggered. > > If

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-29 Thread Linus Torvalds
On Mon, 29 Jan 2024 at 14:49, Steven Rostedt wrote: > > Now I didn't change this last d_instantiate, because this is not called > through the lookup code. This is the root events directory and acts more > like debugfs. It's not "dynamically" added. Ahh, yes, I see, the dentry was created (as a ne

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-29 Thread Linus Torvalds
On Mon, 29 Jan 2024 at 14:35, Linus Torvalds wrote: > > So just replace all the d_instantiate() calls there with "d_add()" > instead. I think that will fix it. I can confirm that with the mutex deadlock removed and the d_add() fix, at least things *look* superficially ok. I

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-29 Thread Linus Torvalds
On Mon, 29 Jan 2024 at 14:21, Steven Rostedt wrote: > > But crashes with just a: > > # ls /sys/kernel/tracing/events > > [ 66.423983] [ cut here ] > [ 66.426447] kernel BUG at fs/dcache.c:1876! Duh. That's a bit too much copy-and-paste by me. So what is going on is

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-29 Thread Linus Torvalds
On Mon, 29 Jan 2024 at 13:45, Steven Rostedt wrote: > > 1 file changed, 50 insertions(+), 219 deletions(-) > > Thanks, much appreciated. Well, I decided I might as well give it a test-run, and there's an immediate deadlock on eventfs_mutex, because I missed removing it from eventfs_find_events()

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-29 Thread Linus Torvalds
spection. That's great, but it really means that it's all untested. It *looks* better than the old code, but there may be some silly gotcha that I have missed. Linus From b1f487acf6f4e9093d8b0fa00f864a6d07a3c4c2 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Sat, 27 Ja

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-29 Thread Linus Torvalds
On Mon, 29 Jan 2024 at 11:24, Linus Torvalds wrote: > > So the patch was completely broken. Here's the one that should > actually compile (although still not actually *tested*). Note that this fixes the d_instantiate() ordering wrt initializing the inode. But as I look up the cal

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-29 Thread Linus Torvalds
On Mon, 29 Jan 2024 at 09:40, Linus Torvalds wrote: > > IOW, I think the right fix is really just this: Oh, for some reason I sent out the original patch I had which didn't fix the create_dir() case. So that patch was missing the important hunk that added the

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-29 Thread Linus Torvalds
On Mon, 29 Jan 2024 at 09:44, Steven Rostedt wrote: > > On Mon, 29 Jan 2024 09:40:06 -0800 > Linus Torvalds wrote: > > > Now, I do agree that your locking is strange, and that should be fixed > > *too*, but I think the above is the "right" fix for this particu

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-29 Thread Linus Torvalds
On Mon, 29 Jan 2024 at 09:40, Linus Torvalds wrote: > > eventfs_create_events_dir() seems to have the same bug with ti->flags, > btw, but got the ti->private initialization right. > > Funnily enough, create_file() got this right. I don't even understand > why create_d

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-29 Thread Linus Torvalds
On Mon, 29 Jan 2024 at 09:01, Steven Rostedt wrote: > > Thanks for the analysis. I have a patch that removes the dropping of the > mutex over the create_dir/file() calls, and lockdep hasn't complained about > it. > > I was going to add that to my queue for the next merge window along with > other

Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address

2024-01-28 Thread Linus Torvalds
On Sun, 28 Jan 2024 at 18:59, kernel test robot wrote: > > 21: 48 8b 47 f8 mov-0x8(%rdi),%rax > 25: 48 85 c0test %rax,%rax > 28: 74 11 je 0x3b > 2a:* f6 40 78 02 testb $0x2,0x78(%rax) <-- trapping > instr

Re: [PATCH] eventfs: Give files a default of PAGE_SIZE size

2024-01-26 Thread Linus Torvalds
On Fri, 26 Jan 2024 at 10:41, Steven Rostedt wrote: > > Fine, but I still plan on sending you the update to give all files unique > inode numbers. If it screws up tar, it could possibly screw up something > else. Well, that in many ways just regularizes the code, and the dynamic inode numbers are

Re: [PATCH] eventfs: Give files a default of PAGE_SIZE size

2024-01-26 Thread Linus Torvalds
On Fri, 26 Jan 2024 at 10:18, Steven Rostedt wrote: > > By following what sysfs does, and give files a default size of PAGE_SIZE, > it allows the tar to work. No event file is greater than PAGE_SIZE. No, please. Just don't. Nobody has asked for this, and nobody sane should use 'tar' on tracefs a

Re: [PATCH v3 1/2] eventfs: Have the inodes all for files and directories all be the same

2024-01-22 Thread Linus Torvalds
On Mon, 22 Jan 2024 at 13:59, Darrick J. Wong wrote: > > though I don't think > leaking raw kernel pointers is an awesome idea. Yeah, I wasn't all that comfortable even with trying to hash it (because I think the number of source bits is small enough that even with a crypto hash, it's tr

Re: [PATCH] eventfs: Stop using dcache_readdir() for getdents()

2024-01-03 Thread Linus Torvalds
On Wed, 3 Jan 2024 at 14:14, Al Viro wrote: > > On Wed, Jan 03, 2024 at 01:54:36PM -0800, Linus Torvalds wrote: > > > Again: UNTESTED, and meant as a "this is another way to avoid messing > > with the dentry tree manually, and just using the VFS interfaces we > &

Re: [PATCH] eventfs: Stop using dcache_readdir() for getdents()

2024-01-03 Thread Linus Torvalds
On Wed, 3 Jan 2024 at 14:04, Steven Rostedt wrote: > > I actually have something almost working too. Here's the WIP. It only works > for tracefs, and now eventfs needs to be updated as the "events" directory > no longer has the right ownership. So I need a way to link the eventfs > entries to use

Re: [PATCH] eventfs: Stop using dcache_readdir() for getdents()

2024-01-03 Thread Linus Torvalds
On Wed, 3 Jan 2024 at 13:54, Linus Torvalds wrote: > > Here's an updated patch that builds, and is PURELY AN EXAMPLE. Oh, and while doing this patch, I found another bug in tracefs, although it happily is one that doesn't have any way to trigger. Tracefs has code like this:

Re: [PATCH] eventfs: Stop using dcache_readdir() for getdents()

2024-01-03 Thread Linus Torvalds
On Wed, 3 Jan 2024 at 11:57, Linus Torvalds wrote: > > Or, you know, you could do what I've told you to do at least TEN TIMES > already, which is to not mess with any of this, and just implement the > '->permission()' callback (and getattr() to just make 'ls

Re: [PATCH] eventfs: Stop using dcache_readdir() for getdents()

2024-01-03 Thread Linus Torvalds
On Wed, 3 Jan 2024 at 11:52, Steven Rostedt wrote: > > This doesn't work because for tracefs (not eventfs) the dentries are > created at boot up and before the file system is mounted. This means you > can't even set a gid in /etc/fstab. This will cause a regression. Which is why I suggested "

Re: [PATCH] eventfs: Stop using dcache_readdir() for getdents()

2024-01-03 Thread Linus Torvalds
On Wed, 3 Jan 2024 at 10:50, Steven Rostedt wrote: > I think these changes are a bit much for -rc8, don't you? Oh, absolutely. None of this is rc8 material apart from the oops fix in your pull request (which my patch that then removes the whole function did *not* have - so that patch won't apply

Re: [PATCH] eventfs: Stop using dcache_readdir() for getdents()

2024-01-03 Thread Linus Torvalds
On Wed, 3 Jan 2024 at 10:12, Linus Torvalds wrote: > > Much better. Now eventfs looks more like a real filesystem, and less > like an eldritch horror monster that is parts of dcache tackled onto a > pseudo-filesystem. Oh, except I think you still need to just remove the 'set_g

Re: [PATCH] eventfs: Stop using dcache_readdir() for getdents()

2024-01-03 Thread Linus Torvalds
On Wed, 3 Jan 2024 at 07:24, Steven Rostedt wrote: > > Instead, just have eventfs have its own iterate_shared callback function > that will fill in the dent entries. This simplifies the code quite a bit. Much better. Now eventfs looks more like a real filesystem, and less like an eldritch horror

Re: [PATCH next 4/5] locking/osq_lock: Optimise per-cpu data accesses.

2023-12-30 Thread Linus Torvalds
On Sat, 30 Dec 2023 at 12:41, Linus Torvalds wrote: > > UNTESTED patch to just do the "this_cpu_write()" parts attached. > Again, note how we do end up doing that this_cpu_ptr conversion later > anyway, but at least it's off the critical path. Also note that whi

Re: [PATCH next 4/5] locking/osq_lock: Optimise per-cpu data accesses.

2023-12-30 Thread Linus Torvalds
On Fri, 29 Dec 2023 at 12:57, David Laight wrote: > > this_cpu_ptr() is rather more expensive than raw_cpu_read() since > the latter can use an 'offset from register' (%gs for x86-84). > > Add a 'self' field to 'struct optimistic_spin_node' that can be > read with raw_cpu_read(), initialise on fir

Re: [PATCH next 0/5] locking/osq_lock: Optimisations to osq_lock code

2023-12-30 Thread Linus Torvalds
On Fri, 29 Dec 2023 at 12:52, David Laight wrote: > > David Laight (5): > Move the definition of optimistic_spin_node into osf_lock.c > Clarify osq_wait_next() I took these two as preparatory independent patches, with that osq_wait_next() clarification split into two. I also did the renaming

Re: [PATCH next 3/5] locking/osq_lock: Clarify osq_wait_next()

2023-12-29 Thread Linus Torvalds
On Fri, 29 Dec 2023 at 12:56, David Laight wrote: > > osq_wait_next() is passed 'prev' from osq_lock() and NULL from osq_unlock() > but only needs the 'cpu' value to write to lock->tail. > Just pass prev->cpu or OSQ_UNLOCKED_VAL instead. > > Also directly return NULL or 'next' instead of breaking

Re: [PATCH] ring-buffer: Remove 32bit timestamp logic

2023-12-14 Thread Linus Torvalds
On Thu, 14 Dec 2023 at 12:35, Steven Rostedt wrote: > > On Thu, 14 Dec 2023 11:44:55 -0800 > Linus Torvalds wrote: > > > On Thu, 14 Dec 2023 at 08:55, Steven Rostedt wrote: > > > > > > And yes, this does get called in NMI context. > > > > Not on

Re: [PATCH v3] ring-buffer: Remove 32bit timestamp logic

2023-12-14 Thread Linus Torvalds
On Thu, 14 Dec 2023 at 12:30, Linus Torvalds wrote: > > Read my email. Don't do random x86-centric things. We have that > > #ifndef system_has_cmpxchg64 > #define system_has_cmpxchg64() false > #endif > > which should work. And again, by "should work&

Re: [PATCH v3] ring-buffer: Remove 32bit timestamp logic

2023-12-14 Thread Linus Torvalds
On Thu, 14 Dec 2023 at 12:18, Steven Rostedt wrote: > > For this issue of the 64bit cmpxchg, is there any config that works for any > arch that do not have a safe 64-bit cmpxchg? At least for 486, is the > second half of the if condition reasonable? > > if (IS_ENABLED(CONFIG_X86_32) && !IS

Re: [PATCH v3] ring-buffer: Remove 32bit timestamp logic

2023-12-14 Thread Linus Torvalds
On Thu, 14 Dec 2023 at 09:53, Steven Rostedt wrote: > > + /* > +* For architectures that can not do cmpxchg() in NMI, or require > +* disabling interrupts to do 64-bit cmpxchg(), do not allow them > +* to record in NMI context. > +*/ > + if ((!IS_ENABLED

Re: [PATCH] ring-buffer: Remove 32bit timestamp logic

2023-12-14 Thread Linus Torvalds
On Thu, 14 Dec 2023 at 08:55, Steven Rostedt wrote: > > And yes, this does get called in NMI context. Not on an i486-class machine they won't. You don't have a local apic on those, and they won't have any NMI sources under our control (ie NMI does exist, but we're talking purely legacy NMI for "m

Re: [PATCH] ring-buffer: Remove 32bit timestamp logic

2023-12-13 Thread Linus Torvalds
On Wed, 13 Dec 2023 at 18:45, Steven Rostedt wrote: > > tl;dr; The ring-buffer timestamp requires a 64-bit cmpxchg to keep the > timestamps in sync (only in the slow paths). I was told that 64-bit cmpxchg > can be extremely slow on 32-bit architectures. So I created a rb_time_t > that on 64-bit w

Re: [GIT PULL] Modules changes for v6.7-rc1

2023-11-02 Thread Linus Torvalds
On Wed, 1 Nov 2023 at 21:02, Linus Torvalds wrote: > > kmalloc() isn't just about "use physically contiguous allocations". > It's also more memory-efficient, and a *lot* faster than vmalloc(), > which has to play VM tricks. I've pulled this, but I think you

Re: [GIT PULL] Modules changes for v6.7-rc1

2023-11-02 Thread Linus Torvalds
On Wed, 1 Nov 2023 at 10:13, Luis Chamberlain wrote: > > The only thing worth highligthing is that gzip moves to use vmalloc() instead > of > kmalloc just as we had a fix for this for zstd on v6.6-rc1. Actually, that's almost certainly entirely the wrong thing to do. Unless you *know* that the

Re: [GIT PULL] NVDIMM and DAX for 6.5

2023-07-01 Thread Linus Torvalds
On Fri, 30 Jun 2023 at 12:17, Verma, Vishal L wrote: > > On an operational note, as Dan handed off the branch to me for this cycle, we > missed that the original few commits were inadvertently made on top of a few > CXL commits that went in in the 6.4-rc cycle via the CXL tree. > > git-request-pul

Re: [RFC][PATCH] fix short copy handling in copy_mc_pipe_to_iter()

2022-06-13 Thread Linus Torvalds
On Sun, Jun 12, 2022 at 5:10 PM Al Viro wrote: > > Unlike other copying operations on ITER_PIPE, copy_mc_to_iter() can > result in a short copy. In that case we need to trim the unused > buffers, as well as the length of partially filled one - it's not > enough to set ->head, ->iov_offset and ->c

Re: [PATCH v3.4] capabilities: require CAP_SETFCAP to map uid 0

2021-04-20 Thread Linus Torvalds
On Tue, Apr 20, 2021 at 9:47 AM Christian Brauner wrote: > > If there's no objections then Linus can probably just pick up the single > patch here directly: I'm ok with that assuming I don't hear any last-minute concerns.. I'll plan on appling it later today, so anybody with concerns please holl

Re: [patch 11/12] gcov: clang: fix clang-11+ build

2021-04-19 Thread Linus Torvalds
On Mon, Apr 19, 2021 at 2:37 PM Nathan Chancellor wrote: > > This should not have been merged into mainline by itself. It was a fix > for "gcov: use kvmalloc()", which is still in -mm/-next. Merging it > alone has now broken the build: > > https://github.com/ClangBuiltLinux/continuous-integration2

Re: [PATCH 00/13] [RFC] Rust support

2021-04-19 Thread Linus Torvalds
On Mon, Apr 19, 2021 at 11:38 AM Paolo Bonzini wrote: > > It changes it for the worse, in that access to fields that are shared > across threads *must* either use atomic types Well, we won't be using those broken types in the core kernel, so that would all be entirely on the Rust side. And I don

  1   2   3   4   5   6   7   8   9   10   >