lkml.org 
[lkml]   [2022]   [Nov]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: include: linux: slab: kmalloc_trace undefined when compiling drivers
On Mon, Nov 14, 2022 at 05:56:25PM +0100, Vlastimil Babka wrote:
> On 11/14/22 13:39, Ian Cowan wrote:
> > On Mon, Nov 14, 2022 at 05:59:06PM +0900, Hyeonggon Yoo wrote:
> >> On Sat, Nov 12, 2022 at 08:21:14PM -0500, Ian Cowan wrote:
> >> > On Sat, Nov 12, 2022 at 05:11:27PM -0800, Randy Dunlap wrote:
> >> > >
> >> > >
> >> > > On 11/12/22 16:43, Ian Cowan wrote:
> >> > > > On Sat, Nov 12, 2022 at 04:34:18PM -0800, Randy Dunlap wrote:
> >> > > >>
> >> > > >>
> >> > > >> On 11/12/22 13:59, Ian Cowan wrote:
> >> > > >>> On Sat, Nov 12, 2022 at 09:21:34AM -0800, Randy Dunlap wrote:
> >> > > >>>> Hi--
> >> > > >>>>
> >> > > >>>> On 11/12/22 08:37, Ian Cowan wrote:
> >> > > >>>>> When compiling drivers (speficially drivers/pci/hotplug), I am receiving
> >> > > >>>>> the following modpost error for both `kmalloc_trace` and
> >> > > >>>>> `kmalloc_node_trace` on the staging/staging-next branch:
> >> > > >>>>>
> >> > > >>
> >> > > >> Ian, what do you mean by "on the staging/staging-next branch"?
> >> > > >>
> >> > > >> What kernel version are you trying to build?
> >> > > >>
> >> > > >> The .config that you sent is for v6.1.0-rc1.
> >> > > >
> >> > > > I am building from the staging repository (gregkh/staging) and my
> >> > > > working branch when building is staging-next. So I am trying to build
> >> > > > from staging and not a particular version. I have also run `make modules_prepare`
> >> > > > and updated the .config per that script. However, when I do build
> >> > > > v6.1.0-rc1 from the main repository (torvalds/linux), I run into the same problem.
> >> > >
> >> > > Have you built the entire kernel already and then you are trying to build
> >> > > only drivers/pci/hotplug?
> >> > Yes, I did build the entire kernel already and then I'm just trying to
> >> > rebuild that module.
> >> >
> >> > In `include/linux/slab.h` if I remove the lines between `#ifdef
> >> > CONFIG_TRACING` and `#else` (lines 473-480) and then the corresponding
> >> > `#endif` and leave lines 481-499, I'm able to compile that module
> >> > without issue.
> >>
> >> I don't get what the problem is.
> >> In case kmalloc[_node]_trace() is undefined, it's replaced with kmem_cache_alloc[_node].
> >>
> >> Is the kernel built with same config on tree?
> >
> > Yes, the same config on tree with no errors or warnings. I was able to
> > trace it back to this commit - building on the commit immediately prior
> > builds without error or warning. It looks like this commit does some
> > refactoring of the kmem_cache_alloc[_node] and kmalloc[_node]_trace.
> >
> > https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit/?h=staging-next&id=26a40990ba052
>
> Wonder if you have a stale mm/slab_common.o because for some reason it's not
> being recompiled (a file timestamp in the future?)
> Can you rm it and rebuild? And maybe also mm/built-in.a
> Or maybe a full make clean and/or a fresh checkout.
>

I pulled a fresh checkout and rebuilt everything and it was fixed after
that. Thanks for your help!

\
 
 \ /
  Last update: 2022-11-14 22:29    [W:0.853 / U:0.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site