From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roberto Nibali Subject: Re: [PATCH][RFC] Shrink ip_vs_*.c includes Date: Mon, 06 Feb 2006 11:33:09 +0100 Message-ID: <43E725E5.7080400@tac.ch> References: <43E69CE1.2030204@drugphish.ch> <20060206091319.GH27206@verge.net.au> <43E7163D.7080506@tac.ch> Reply-To: "LinuxVirtualServer.org users mailing list." Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org Return-path: To: "LinuxVirtualServer.org users mailing list." In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: lvs-users-bounces@LinuxVirtualServer.org Errors-To: lvs-users-bounces@LinuxVirtualServer.org List-Id: netdev.vger.kernel.org >>> CONFIG_IP_VS=m >>> # CONFIG_IP_VS_DEBUG is not set >>> CONFIG_IP_VS_TAB_BITS=12 >>> CONFIG_IP_VS_PROTO_TCP=y >>> CONFIG_IP_VS_PROTO_UDP=y >>> CONFIG_IP_VS_PROTO_ESP=y >>> CONFIG_IP_VS_PROTO_AH=y These 'y' caused me to think that it wasn't modular. >>> CONFIG_IP_VS_RR=m >>> CONFIG_IP_VS_WRR=m >>> CONFIG_IP_VS_LC=m >>> CONFIG_IP_VS_WLC=m >>> CONFIG_IP_VS_LBLC=m >>> CONFIG_IP_VS_LBLCR=m >>> CONFIG_IP_VS_DH=m >>> CONFIG_IP_VS_SH=m >>> CONFIG_IP_VS_SED=m >>> CONFIG_IP_VS_NQ=m >>> CONFIG_IP_VS_FTP=m >> Ok, this is m/y mixed. Haven't tried it yet. > > Actually, I think that its completely modular. So why the heck didn't it trigger on my system? Is it because the include/net/* headers are not always included on ia64? Well, tant pis! >> I'll reproduce it with your config. I didn't think of trying it with >> mixed y/m settings. Following include is missing then: >> >> #include > > Thanks, I found that linux/module.h was also needed. Ok. I thought this would get included by any of the other headers. Well, so long as it also compiles fine on your system, I'm good. > After putting those two back into ip_vs_conn.c the build went > find. I also tried a few other combinations, all on ia64, without issue. > My diff is below. Could you recheck it? Seems fine to me, thanks for testing this. I would have felt really bad if I broke IPVS in mainline because of such changes. >> Or do you think we could put all the needed includes into ip_vs.h and >> simply be done with it? > > I spoke breifly with Dave about this, and he isn't very keen on it. Fair enough. > The problem with that approach, is that while its less work to > maintain the headers by hand, it will likely result in uneeded > includes in some cases. How so? All includes nota bene have the prevailing: #ifndef _FOOBAR_H #define _FOOBAR_H [...] #endif /* _FOOBAR_H */ framework. So would this speak slightely against that? Also, from the includes we take today, I reckon that in the end we half of the include/{net,linux}/*.h is in our objects :). But you guys decide. I could maybe run a call-graph. > So all of LVS will get built when > a given header is touched, where perhaps only half of it needed > to be built. Well, it does not happen so ofter that a core network related header is touched to my avail. > So with that in mind, could you continue in the vein of > your original patch? Sure thing. Your attached patch is fine; if you feel confident with our changes, submit it. Best regards, Roberto Nibali, ratz -- ------------------------------------------------------------- addr://Kasinostrasse 30, CH-5001 Aarau tel://++41 62 823 9355 http://www.terreactive.com fax://++41 62 823 9356 ------------------------------------------------------------- 10 Jahre Kompetenz in IT-Sicherheit. 1996 - 2006 Wir sichern Ihren Erfolg. terreActive AG -------------------------------------------------------------