> From: Bill Fischofer [mailto:[email protected]] > Sent: Tuesday, August 26, 2014 4:26 PM > To: Gilad Ben Yossef > Cc: Taras Kondratiuk; lng-odp-forward > Subject: Re: [lng-odp] [ARCH DESIGN] Last call--Buffer Mgmt Design > Accessing another segment is an implicit release of the first, as is > disposition of the packet via a queue operation. Yes, specifying only a single addressable mapping per buffer makes things easier. I still don't have any way to know if I need to write out changes and what ranges of changes to write. > The reason for not over-specifying these sort of behaviors is to give the > implementation maximum flexibility in how it wishes to implement APIs. If we > had an explicit release call then that would require the implementation to > wait until it received such a call before doing anything (and would have to > deal with the case where an application forgets to issue one). I'd think > that would impose a greater burden on implementations. Not if we defined the "release" API to have the semantic of "I, the ODP API user, promise not to access the mapped buffer again and expect to find whatever was there after the *_addr call". The platforms would still be free to do whatever they wish between the *_addr and the "release", it just that the "release" gives the platform an explicit notification of end of usage from the API user side - which the platform would be free to cheerfully ignore. BUT, if you are a platform where such a notification is useful, you can use it. I don't think we put a burden here on the platform implementers - more on the applications users who use the API, it would seem. The question is whether this is such a big burden to say: "I'm going to access this segment. Now I'm done (and please copy it back if needed or not)". > I gather from your remarks that your chip has a more NUMA-like addressing > structure? If yes, I'd be very interested in ensuring that these APIs work > well for you as accommodating that sort of architecture is the intent behind > them. Yes, indeed. Actually, two of them - EZchip NPS-400 (4k CPUs running SMP Linux) and now Tilera Tile* (76 CPUs running SMP Linux). I very much appreciate the community support. I'd really love to see ODP runs on both platforms as best as possible. I think it'll huge if you can just re-compile the l2fwd example and see it do 400 Gbps :-) Thanks, Gilad
Gilad Ben-Yossef Software Architect EZchip Technologies Ltd. 37 Israel Pollak Ave, Kiryat Gat 82025 ,Israel Tel: +972-4-959-6666 ext. 576, Fax: +972-8-681-1483 Mobile: +972-52-826-0388, US Mobile: +1-973-826-0388 Email: [email protected], Web: http://www.ezchip.com "Ethernet always wins." — Andy Bechtolsheim _______________________________________________ lng-odp mailing list [email protected] http://lists.linaro.org/mailman/listinfo/lng-odp
