SMP: protocol control block protection for a multithreaded
process (ex: udp).
vasanth rao naik sabavat
vasanth.raonaik at gmail.com
Tue May 29 20:20:17 UTC 2012
Can somebody please reply to this email.
basically, can udp_detach() and udp_send() execute simultaneously for a
process with multiple threads? if yes, then inp reference in udp_send()
will be stale if udp_detach() free's the inp?
Thanks,
Vasanth
On Tue, May 29, 2012 at 10:53 AM, vasanth rao naik sabavat <
vasanth.raonaik at gmail.com> wrote:
> Hi,
>
> In case of a Multicore cpu system running a multithreaded process.
>
> For protocol control blocks there is no protection provided in the FreeBSD
> 9. For example, udp_close() and udp_send() access the inp before taking the
> lock. Couldn't this cause the inp inconsistency on a multithreaded process
> running on multicore cpu system?
>
> Say, If the two threads of a process are concurrently executing socket
> send and socket close say on a udp connection (this can happen in case of
> poorly written user code.).
> udp_close() will access the inp on one cpu and udp_send() will access the
> inp on another cpu. it is possible that udp_close() gets the locks first
> and free's the inp before udp_send() has a chance to run?
>
> Am I missing anything?
>
> Thanks,
> Vasanth
>
>
>
>
>
More information about the freebsd-hackers
mailing list