lwIP - A Lightweight TCP/IP stack - Patches: patch #5919, Create compile switch to remove...
You are not allowed to post comments on this tracker with your current authentication level.
patch #5919: Create compile switch to remove select code
Submitter: | Simon Goldschmidt <goldsimon> | ||
Submitted: | Tue 08 May 2007 08:42:13 AM UTC | ||
Category: | None | Priority: | 3 - Low |
Status: | None | Privacy: | Public |
Assigned to: | goldsimon | Open/Closed: | Closed |
Planned Release: | None |
Jump to the original submission
Sat 09 Jun 2007 11:37:31 AM UTC, comment #22: |
Simon Goldschmidt <goldsimon> |
Sat 09 Jun 2007 11:28:20 AM UTC, comment #21: About comment #19, yes, you're right, but it's increase the footprint for nothing if you don't use it... |
Frédéric Bernon <fbernon> |
Sat 09 Jun 2007 11:27:08 AM UTC, comment #20: (sorry, it seems our submit have be sent in the same time, and mine reopen it by error, Savane is not real safe-thread ;) ) |
Frédéric Bernon <fbernon> |
Sat 09 Jun 2007 11:25:56 AM UTC, comment #19: As far as I can see it (but I'm far from sure), the only thing we could remove in the netconn api is the recv_avail and the callback code... |
Simon Goldschmidt <goldsimon> |
Sat 09 Jun 2007 11:15:06 AM UTC, comment #18: I think that most of the change to disable extra code in inside api_lib and api_msg, so, it should be apply in current code (to my point of view)...
|
Frédéric Bernon <fbernon> |
Sat 09 Jun 2007 11:14:50 AM UTC, comment #17: Since with a new socket layer at the horizon, I'm not really keen on working out how that callback-mechanism works, I'm closing this and making this idea a design goal for a new socket layer. |
Simon Goldschmidt <goldsimon> |
Sat 09 Jun 2007 11:07:01 AM UTC, comment #16: Sorry, seems like I forgot this item for a while...
|
Simon Goldschmidt <goldsimon> |
Sat 09 Jun 2007 10:43:56 AM UTC, comment #15: Simon, can you give me answers to comment #14?
|
Frédéric Bernon <fbernon> |
Sat 02 Jun 2007 12:59:19 PM UTC, comment #14: So, for this item, we will get two new options? LWIP_SOCKETS_SELECT & LWIP_NONBLOCKING_SOCKETS? Just off topic, perhaps it will be good to uniformize socket defines names ?
|
Frédéric Bernon <fbernon> |
Sat 02 Jun 2007 12:46:52 PM UTC, comment #13: I'm planning to check this in in a few days, expanded by another switch that disables the netconn->callback if non-blocking I/O is not needed to further shrink code size. |
Simon Goldschmidt <goldsimon> |
Sat 02 Jun 2007 12:45:32 PM UTC, comment #12: Just for the record (even if it's a little off-topic): changes from comment #11 are checked in. |
Simon Goldschmidt <goldsimon> |
Tue 22 May 2007 09:36:08 PM UTC, comment #11: I think to extend LWIP_SO_RCVTIMEO to TCP connections. It will be the same code, or something near...
|
Frédéric Bernon <fbernon> |
Tue 22 May 2007 08:33:42 PM UTC, comment #10: Ok, so event_callback seems to be needed for non-blocking sockets. This could be avoided, however, if the netconn API would support non-blocking receive (which is not that useful since we have callbacks for that). But since we now have sys_arch_mbox_tryfetch(), it could be solved in that way. However, I suggest to leave it like it is (which means we need event_callback regardless of select()).
|
Simon Goldschmidt <goldsimon> |
Tue 22 May 2007 07:31:47 AM UTC, comment #9: You're right, it works. So no need for more switches. |
Simon Goldschmidt <goldsimon> |
Sat 19 May 2007 10:57:30 PM UTC, comment #8: re Simon's comment #6:
|
Jonathan Larmour <jifl> |
Thu 17 May 2007 10:33:39 AM UTC, comment #7: Hm, I'm afraid I don't really know if that works in all cases so I'd rather do some more tests... |
Simon Goldschmidt <goldsimon> |
Thu 17 May 2007 10:20:16 AM UTC, comment #6:
|
Simon Goldschmidt <goldsimon> |
Fri 11 May 2007 07:55:56 AM UTC, comment #5: I think you need e.g. the sock->recevent to be able for an application thread to copy something the tcpip_thread has already received (maybe only in non-blocking mode). I didn't investigate this further, this was only what I think after having a quick look over it. |
Simon Goldschmidt <goldsimon> |
Fri 11 May 2007 07:50:05 AM UTC, comment #4: Are you sure about your answer in comment #2 ? I don't really see what other operation really need event_callback except "select"... Perhaps I miss something...
|
Frédéric Bernon <fbernon> |
Tue 08 May 2007 06:03:50 PM UTC, comment #3: Ooops, pressed the button too early :-) I wanted to say I have included a patch of sockets.c that should work... |
Simon Goldschmidt <goldsimon> |
Tue 08 May 2007 06:02:29 PM UTC, comment #2:
|
Simon Goldschmidt <goldsimon> |
Tue 08 May 2007 04:02:41 PM UTC, comment #1: Agree for that, except I don't really like LWIP_HAVE_SELECT name. Another question, why don't you have disable all "event_callback"? Is it used for something else than "select"?
|
Frédéric Bernon <fbernon> |
Tue 08 May 2007 08:42:13 AM UTC, original submission:
To reduce footprint (and gain a little speed) if lwip_select() is not used, I propose to create a define that can be set to 0 to remove select code (mainly the selectsem and some code in event_callback).
|
Simon Goldschmidt <goldsimon> |
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follow 7 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2007-06-09 | fbernon | Open/Closed | Open | Closed | |
2007-06-09 | fbernon | Status | Wont Do | None | |
Open/Closed | Closed | Open | |||
2007-06-09 | goldsimon | Status | None | Wont Do | |
Open/Closed | Open | Closed | |||
2007-05-08 | goldsimon | Attached File | - | Added sockets.c_select_define2.patch, #12717 | |
2007-05-08 | goldsimon | Attached File | - | Added select_define.patch, #12716 |
Powered by Savane 3.13-f8d8.
Corresponding source code
I know, but I think we can talk about completely removing that stuff once we have an independent socket layer. There seems to be much stuff inside the netconn layer only used for sockets...