Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Sep 2001 13:17:07 -0500 (CDT)
From:      Jonathan Lemon <jlemon@flugsvamp.com>
To:        kent@erix.ericsson.se, hackers@freebsd.org
Subject:   Re: How to force small TCP packets?
Message-ID:  <200109101817.f8AIH7t11927@prism.flugsvamp.com>
In-Reply-To: <local.mail.freebsd-hackers/d2heubk4p2.fsf@erix.ericsson.se>
References:  <local.mail.freebsd-hackers/d2y9nogetm.fsf@erix.ericsson.se>, <local.mail.freebsd-hackers/20010909182745.O2965@elvis.mu.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In article <local.mail.freebsd-hackers/d2heubk4p2.fsf@erix.ericsson.se> you write:
>
>bright@mu.org (Alfred Perlstein) writes:
>> there's a setsockopt for this called TCP_NODELAY in netinet/tcp.h.
>> 
>> you should read further into stevens before posting such questions.
>
>I seem to have expressed myself really bad :-( I want to debug an
>application. We have had code that broke only occasionally on a
>specific Linux version under heavy load. I want to detect bad code
>like that and had hoped that some FreeBSD hackers had some tricks how
>to use kernel configuration to do that.
>
>If application A do a write like
>
>  write(socket, buf, 100);
>
>and application B read this like
>
>  read(socket, buf, 100);
>
>without checking the result from the read operation, then this code
>will probably work 99.9999% of the time. But if I could force the
>kernel to pass data from a socket on to the application say one byte
>at the time then this code will break 100% of the time. This makes 
>finding these problems more easy.
>
>This is highly simplified example, else I could just grep the sources
>for all calls to read() and manually inspect the code. The data is
>passed on to other parts of the system using message queues.
>
>But using the kernel to debug user applications like this was probably
>a stupid idea. I'm sorry for posting a question to this group without
>the proper knowledge wasting your time,

One thing you might want to try doing is to write your own read()
function and link against that.  Your modified version could then
replace the nbytes value with something smaller, for debugging purposes.
-- 
Jonathan

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200109101817.f8AIH7t11927>