Re: Improving documentation for programming interfaces

From: Theodore Y. Ts'o
Date: Fri Dec 20 2019 - 12:18:00 EST


On Fri, Dec 20, 2019 at 05:23:27PM +0100, Markus Elfring wrote:
> >> Some functions allocate resources to which a pointer (or handle) is returned.
> >> I would find it nice then if such a pointer would contain also the background
> >> information by which functions the resource should usually be released.
> >>
> >> Can it become easier to determine such data?
> â
> > It's unclear to me what you are requesting/proposing?
>
> I suggest to clarify combinations for object construction and proper resource release.
>
> > Can you be a bit more concrete?
>
> Further examples:
> * kmalloc â kfree
> * kobject_create â kobject_put
> * device_register â put_device
>
> Can preprocessor macros help to express any more relationships for similar function pairs?

Sorry, this is still not making sense. You said "a pointer would
contain also the background information by which the resource should
usually be released". Huh? There's no room for a pointer to also
store context of whether it was allocated using kmalloc, or malloc,
etc.

Did you have some concrete idea of how a preprocessor macros could be
used to perform what appears to be completely impractical?

And how would that information be used by the kernel? And for what
benefit? And can you show that the benefits will be worth the costs?

- Ted