# malloc_sizes (was nvidia problems)

## szacks

I changed the name of the post, I think if I fix this malloc_sizes problem it will solve the rest of them as well.

I am installing a new nvidia geForce 8500 (Gigabyte GV-NX85T512HP) and I'm having tons of problems.

It is a PCI-E, dual head DVI + VGA.

I am using a genkernel that is slightly modified (I removed 4K Stacks and agpgart so far)

The current problems in dmesg are:

i2c_core: Unknown symbol __i2c_board_list

i2c_core: Unknown symbol __i2c_first_dynamic_bus_num

i2c_core: Unknown symbol __i2c_board_lock

i2c_core: Unknown symbol malloc_sizes

nvidia: Unknown symbol i2c_del_adapter                                       

nvidia: Unknown symbol i2c_add_adapter

nvidia: Unknown symbol malloc_sizes

I had problems with agpgart also, but I removed that from the kernel and it doesn't show any errors for that now.

There are a number of other modules that say: Unknown symbol malloc_sizes

The only thing I could find on malloc_sizes was that the kernel should use SLAB and not SLUB, so I checked my kernel and I am using SLAB, so that is not the problem.

Any help is muchly appreciated.

SimLast edited by szacks on Thu Aug 28, 2008 6:29 pm; edited 1 time in total

----------

## szacks

I guess I needed the agpgart, but I removed all the modules except for the actual one I needed and that removed the main problem with agpgart.

Now the only problem with agpgart is malloc_sizes.

But all the other problems remain.

----------

## NeddySeagoon

szacks,

When your emerge fails, you get a message like 'a full build log is located in /var/tmp/portage....'

Please post that entire file.

Errors involving Unknown symbol like

```
i2c_core: Unknown symbol __i2c_board_list 
```

indicate that you have a kernel option missing. The missing option provides the missing symbols.

Anyway, lets start with your log file and solve one problem at a time.

----------

## szacks

This is a dmesg error, not an emerge error.

I have not had any problems with emerge.

The last emerges I did was nvidia-drivers and then xorg-server with nvidia video_cards.

As I said, I am using genkernel. I did genkernel --menuconfig all

There were a couple of things I changed from the default genkernal (for example, nvidia-drivers wouldn't let me have virtualazation enabled and another error told me to remove 4K Stacks)

When I start the computer and check dmesg, these are the errors it gives me. Because of these errors the nvidia module won't load and I can't start X.

----------

## NeddySeagoon

szacks,

Grepping the kernel source shows that the symbol __i2c_board_list is defined in the file ./drivers/i2c/i2c-boardinfo.c

```
/usr/src/linux $ grep -R  __i2c_board_list ./

Binary file ./arch/x86/boot/compressed/vmlinux.bin matches

./drivers/i2c/i2c-boardinfo.c:LIST_HEAD(__i2c_board_list);

./drivers/i2c/i2c-boardinfo.c:EXPORT_SYMBOL_GPL(__i2c_board_list);
```

That suggests that whatever kernel option includes that file is off in your kernel or you are not running the kernel you think you are.

Does 

```
readlink /usr/src/linux
```

point to the same kernel as is shown by 

```
uname -a
```

Is the date and time in uname -a the date and time when you last remade the kernel ?

If you answer No to either question post the output of both commands. uname -a is your running kernel and readlink /usr/src/linux is the kernel you are making the nvidia module for. They need not be the same kernel, thats ok if its what you intended

----------

## szacks

I only have one kernel on my machine. It's a new machine and I emerged the genkernel because I was going to be lazy and let gentoo do everything for me. That didn't work so well, so now I went into the menuconfig and did a full configuration, removing everything that wasn't relevant and adding things that I thought might be. I added everything in the i2c category. None of the debug options were chosen.

it's compiling now.

I'll post again when it's done.

----------

## szacks

I have the same problems I had before, the recompile didn't do anything for me.

If __i2c_board_list is in the file i2c-boardinfo.c, what does that mean that I have to enable in the kernel so that this will work?

----------

## jburns

What version of the kernel and nvidia-drivers are you using?   You may need a newer version of nvidia-drivers.

----------

## szacks

kernel =genkernel.3.4.10-r1=2.6.25.14

nvidia-drivers-173.14.09

----------

## pappy_mcfae

If you're having problems figuring out which devices you need to put into your kernel to truly support all your hardware, paste the results of lspci -n at this site. It will tell you exactly which device drivers to install, up to and including I2C.

Blessed be!

Pappy

----------

## szacks

I think my kernel configuration is correct.

I think all the problems are traced back to i2c-core not loading. It doesn't load for 2 reasons.

One because of a bug in the i2c-core.c file as specified by this link https://dev.openwrt.org/cgi-bin/trac.fcgi/ticket/2805

I did what he suggested and that removed a number of the missing symbols.

The second thing is it is still missing malloc_sizes. As I mentioned, the only thing I found about malloc_sizes is that it comes from SLAB, and I have SLAB in my kernel. So I don't know what the problem is.

Now most of the problems showing up in my dmesg are either malloc_sizes or because i2c-core won't load.

Does anybody have a clue about malloc_sizes?

----------

## szacks

I switched from SLAB to SLUB and that took care of a number of malloc_sizes problems,but not all of them.

I'm going to try to download a more current kernel and see if that does it for me.

Any  other ideas?

----------

## szacks

I downloaded the newest unstable kernel and ran it without genkernel and all of my problems went away.

Thanks

for your help.

----------

