2.4.21: proc-fs and allocating many new files (PROC_NDYNAMIC)

From: Ben Greear
Date: Wed Aug 13 2003 - 18:23:14 EST


I am working on a mac-vlan module, and would like to have a proc entry for each
vlan device. My code fails after creating 124 vlans (which will create ~240
proc entries).

What is worse, after doing this, the 802.1q module will not even load because
it can't allocate it's small number of proc entries. (I will fix this shortly
and have it ignore the error and continue, since it uses ioctls as well.)

After poking around in the proc-fs code (please, next time someone re-writes this,
give us an int* err_code return value so that we can know why things fail!!!)
I believe I must be hitting the failure due to not being able to find a free entry
in the proc_alloc_map. It seems that a max of PROC_NDYNAMIC proc entries can be
created. This value is #defined to 4096 in 2.4.21....

So, several questions:

Can I arbitrarily make this bigger...say (4096*4)? Any trade-offs other than memory?

Is there a better way to have many proc file entries? I can even live
with read-only, as I can do the config through ioctls.

Thanks,
Ben

--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc http://www.candelatech.com


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/