Thanks fpr your response,
Yup, it's "political" this project is "work for hire" for an internal
system - the code will never be distributed - all very hush hush. (I
signed a non-disclosure agreement - so I can't be too specific.)
In essence, memory is allocated for each minor device number (total
number of minors and the values are unknown at init time), and the data
stored in a linked list. So for each open, the list is searched, and if
the minor number is found, that is what is used (and a counter
incremented), otherwise memory is allocated ad added to the list. (BTW -
this is not my design and they're paying the bill.)
On the close the memory counter is decremented for the minor, and if
zero, the memory is deallocated, So, it sounds like this is OK,
Richard B. Johnson wrote:
>...
> So, I would say that it's not a good idea to allocate memory during
> an open(). If you some political reason, you are forced to do this,
> you need to count the number of open/close operations and only
> deallocate memory after the final close. There are atomic-counter
> macros you can use for this.
>
> Cheers,
> Dick Johnson
> Penguin : Linux version 2.4.18 on an i686 machine (797.90 BogoMips).
> Bush : The Fourth Reich of America
>
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/