[SLOF] [PATCH 08/11] Do not link libnet to net-snk anymore

Alexey Kardashevskiy aik at ozlabs.ru
Thu Sep 15 13:57:20 AEST 2016


On 14/09/16 23:52, Thomas Huth wrote:
> On 14.09.2016 14:53, Alexey Kardashevskiy wrote:
>> On 14/09/16 19:18, Thomas Huth wrote:
>>> On 14.09.2016 10:55, Alexey Kardashevskiy wrote:
>>>> On 10/09/16 05:52, Thomas Huth wrote:
>>>>> Since libnet is now linked to Paflof directly, we do not have to
>>>>> link it into net-snk anymore.
>>>>>
>>>>> Signed-off-by: Thomas Huth <thuth at redhat.com>
>>>>> ---
>>>>>  clients/net-snk/Makefile     | 2 +-
>>>>>  clients/net-snk/app/Makefile | 2 +-
>>>>>  clients/net-snk/app/main.c   | 5 -----
>>>>>  lib/libnet/Makefile          | 3 +--
>>>>>  lib/libnet/netload.c         | 2 +-
>>>>>  5 files changed, 4 insertions(+), 10 deletions(-)
>>>>>
>>>>> diff --git a/clients/net-snk/Makefile b/clients/net-snk/Makefile
>>>>> index 1cab7ae..c0bb73a 100644
>>>>> --- a/clients/net-snk/Makefile
>>>>> +++ b/clients/net-snk/Makefile
>>>>> @@ -17,7 +17,7 @@ include $(TOP)/make.rules
>>>>>  OBJS	=  kernel/kernel.o oflib/oflib.o libc/libc-glue.o app/app.o
>>>>>  .PHONY : subdirs clean depend mrproper
>>>>>  
>>>>> -CLIENTLIBS = $(LIBCMNDIR)/libelf.a $(LIBCMNDIR)/libnet.a $(LIBCMNDIR)/libc.a
>>>>> +CLIENTLIBS = $(LIBCMNDIR)/libelf.a $(LIBCMNDIR)/libc.a
>>>>>  
>>>>>  all:	.depend subdirs
>>>>>  	$(MAKE) client
>>>>> diff --git a/clients/net-snk/app/Makefile b/clients/net-snk/app/Makefile
>>>>> index 52d446c..2da02b9 100644
>>>>> --- a/clients/net-snk/app/Makefile
>>>>> +++ b/clients/net-snk/app/Makefile
>>>>> @@ -16,7 +16,7 @@ export TOP
>>>>>  endif
>>>>>  include $(TOP)/make.rules
>>>>>  
>>>>> -CFLAGS +=$(ADDCFLAGS) -I$(LIBCMNDIR)/libnet
>>>>> +CFLAGS +=$(ADDCFLAGS)
>>>>>  
>>>>>  OBJS = main.o
>>>>>  
>>>>> diff --git a/clients/net-snk/app/main.c b/clients/net-snk/app/main.c
>>>>> index 22aeba7..17c16b6 100644
>>>>> --- a/clients/net-snk/app/main.c
>>>>> +++ b/clients/net-snk/app/main.c
>>>>> @@ -13,7 +13,6 @@
>>>>>  #include <string.h>
>>>>>  #include <stdio.h>
>>>>>  #include <of.h>
>>>>> -#include <netapps.h>
>>>>>  #include <libbootmsg.h>
>>>>>  
>>>>>  #ifdef SNK_BIOSEMU_APPS
>>>>> @@ -31,10 +30,6 @@ main(int argc, char *argv[])
>>>>>  	int i;
>>>>>  	of_set_callback((void *) &_callback_entry);
>>>>>  
>>>>> -	if (strcmp(argv[0], "netboot") == 0 && argc >= 5)
>>>>> -		return netboot(argc, argv);
>>>>> -	if (strcmp(argv[0], "ping") == 0)
>>>>> -		return ping(argc, argv);
>>>>
>>>>
>>>> After this change we do not have working "ping" - it is added in the next
>>>> patch, not good for bisectability. Was this intentional?
>>>
>>> Yes, it's ugly to lose bisectability for one step here, but since "ping"
>>> is IMHO not such an important command in SLOF, I decided that it is OK
>>> to break it for one commit: If we want to add the Forth-to-C wrapper for
>>> ping in libnet.code before this commit, I would need to write the
>>> wrapper in a similar fashion as I've done it for the netboot() wrapper
>>> in the previous patch, i.e. parse the string that has been created by
>>> the forth code with:
>>>
>>>  s" ping " my-args $cat
>>>
>>> ... and then pass argc and the created argv[] array to the ping() function.
>>> But since it's much easier for ping() to directly work with the my-args
>>> parameter, I wanted to avoid that step.
>>
>>
>> Well. Why did not you change netboot() the same way? :)
> 
> I'm still planing to do this as an optimization later there, too. But
> it's a bigger change for netboot() compared to ping(), since all that
> $cat string handling in slof/fs/packages/obp-tftp.fs needs to be
> disentangled, too, and the netboot() function itself accesses various
> members of the argv[] array, so that code then also needs a rework, too.
> That means the patch gets quite a bit bigger and maybe harder to review.
> But if you prefer, I can also rework the patch to do that immediately
> instead of a clean-up/optimization patch later.


Well, this does not fix any urgent bug so imho there is no hurry (is not
there?) and I suppose I could wait till netboot() or/and ping() prototypes
rework which would not break bisectability.

How much faster does QEMU in TCG take to boot with these patches?


> (Note: Also the client-buffer handling in obp-tftp.fs can finally go
> away ... not sure whether I already should include that now or do it in
> a separate patch later... Do you have any preferences?)

I do not.


-- 
Alexey


More information about the SLOF mailing list