Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Nov 1999 18:24:46 -0800 (PST)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        "Daniel C. Sobral" <dcs@newsguy.com>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: Threads and the scheduler
Message-ID:  <199912010224.SAA28925@apollo.backplane.com>
References:  <3842DBB5.8AFC9B6@newsguy.com> <199911292022.MAA08694@apollo.backplane.com> <3843D43E.4F40A642@newsguy.com> <199911301732.JAA25846@apollo.backplane.com> <38441379.D8CD6CCD@newsguy.com> <199911301829.KAA26530@apollo.backplane.com> <38442193.931386B6@newsguy.com>

next in thread | previous in thread | raw e-mail | index | archive | help
:>     that when you finish up tallying all the cpu the application uses, it
:>     is going to be nearly the same whether the application serializes the
:>     system calls (i.e. unthreaded) or doesn't serialize the system calls.
:>     From the point of view of the UNIX scheduler.
:
:No, not at all. For example think of an application with two
:processes: one does i/o on a tcp socket and the other
:number-crunches data. It gets converted to threads, so that it is
:now just one process. Whenever the process "blocks" in the kernel
:doing i/o, instead of being put to sleep control is returned to it,
:and it spends the rest of it's quanta doing number-crunching.

    I believe I mentioned the kernel caching issue with I/O.  Just because
    you are making a syscall does *not* mean you are getting the benefit of
    I/O scheduling and does *not* mean that you will block, only that you
    might block. 

    Over the years kernels have been heavily optimized to disassociate I/O
    from the process requesting the I/O.  For example, FreeBSD has TCP
    buffers in the kernel and issues read-ahead on its disks, over NFS,
    and so forth.  If the kernels were not so heavily optimized to
    disassociate I/O then you would be right.  But since they are, I
    do not think you will see the difference in effect that you expect.

:The scheduler will not identify that process as one who does i/o.
:
:But... whatever. I'll just wait and see.
:
:--
:Daniel C. Sobral			(8-DCS)

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>




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




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