[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-users] Alignment problem i pbuf_alloc()
From: |
Bill Knight |
Subject: |
Re: [lwip-users] Alignment problem i pbuf_alloc() |
Date: |
Wed, 26 May 2004 06:30:17 -0500 |
Yes, that is what I am suggesting.
-Bill Knight
On 26 May 2004 11:07:56 +0100, K.J. Mansley wrote:
>On Tue, 2004-05-25 at 16:28, Bill Knight wrote:
>> I'll jump in here. 'payload' is declared as a void pointer. If all
>> it is ever used for is to access bytes, then 'offset' does not need to
>> be taken into the alignment calc. when determining the address to
>> store into 'payload'. If however, if is used to read or store 16 or
>> 32 bit values from and to the network device, and if it is aligned,
>> the data would not have to be broken into bytes and then reassembled.
>> I would suggest adding 'offset' into the alignment calc.
>Just for the avoidance of doubt, you suggest we use:
>p = mem_malloc(MEM_ALIGN_SIZE(sizeof(struct pbuf) + offset) +
>MEM_ALIGN_SIZE(length));
>p->payload = MEM_ALIGN((void *)((u8_t *)p + sizeof(struct pbuf) + offset));
>rather than:
>p = mem_malloc(MEM_ALIGN_SIZE(sizeof(struct pbuf)) + MEM_ALIGN_SIZE(length +
>offset));
>p->payload = MEM_ALIGN((void *)((u8_t *)p + sizeof(struct pbuf))) + offset;
>Is that correct?
>Kieran
- RE: [lwip-users] Alignment problem i pbuf_alloc(), (continued)
Re: SV: SV: [lwip-users] Alignment problem i pbuf_alloc(), 刘良, 2004/05/25
[lwip-users] Alignment problem i pbuf_alloc(), Lars Thorup, 2004/05/25