I am a bit puzzled about how a kernel configuration option works in the menuconfig procedure. In "Network File Systems" there is a setting called "Plan 9 Resource Sharing Support (9P2000)", which appears there only after one has first chosen the same named setting "Plan 9 Resource Sharing Support (9P2000)" under the section called 'Networking support'. In other words,

then there appears the three subsettings mentioned above. However, when I choose it like this,

<*> Plan 9 Resource Sharing...

then only the last two subsettings appear, but the first one, "Enable 9P client caching support", is completely missing. Furthermore, its underlying configuration settings, namely, CONFIG_9P_FSCACHE, does not appear selected, as it were, automatically, even when it does not appear as an option for me to choose.

Therefore, my question is, why does it altogether disallow the functionality from CONFIG_9P_FSCACHE, by removing this option, if I choose to build into the kernel "Plan 9 Resource Sharing", but not so when I have chosen to make it a module? Consequently, if I had never chosen to make it a module to begin with, I then would not have realized the setting (and its functionality) below it even existed as an available option. That seems wrong to me.

With this sort of reasoning, should I conclude, as it would seem so, that I must first set every single option to be a module in order to see everything it enables before I even consider setting it to be built-in? And what prevents the opposite from occuring in other cases? What, moreover, would prevent the options from appearing differently, or not, in other places besides adjacently, where as a result they might very well not be noticed, for example such as I demonstrated above?