Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Jan 2005 21:32:35 +0100
From:      Simon 'corecode' Schubert <corecode@fs.ei.tum.de>
To:        freebsd-hackers@freebsd.org
Cc:        Street Chaman <street_chaman@hotmail.com>
Subject:   Re: Kernel mode programming -precisions
Message-ID:  <200501182132.44384.corecode@fs.ei.tum.de>
In-Reply-To: <BAY15-F6A965C17D8FF205AB06FC998F0@phx.gbl>
References:  <BAY15-F6A965C17D8FF205AB06FC998F0@phx.gbl>

next in thread | previous in thread | raw e-mail | index | archive | help
--nextPart4532779.pnLIk1ZdN4
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

On Tuesday, 18. January 2005 20:54, Street Chaman wrote:
> Actually, my soft is a kind of interactive filter: it takes a lot of imput
> parameters (from keyboard at the moment, but as soon as i've understood h=
ow
> it works, i will increase the number of supported io devices); treats it =
in
> a particular way and produces an output. This 'particular way' requires a
> lot of clock cycle, so speed is my first problem; (that's part of reason
> why everything is directly written in assembly). I've already buffered
> input and output, but only as far at it was possible: since loop (X) input
> could affect loop (X-1) general data manipulation, and change output, it
> must be detected quickly. The time needed to read/write is still to long.
> When CPU is waiting on some new data, he cannot preform any other
> operation, and freezes data manipultion; that's why I'm looking for a new
> way to in/output the soft...

you don't describe where the data comes from and where to goes to. if it's =
a=20
file, you might want to use memory mapped files (mmap(2)), which will give=
=20
you (about) the least overhead in reading/writing which can be achieved.

so your problem more sounds like a cpu-bound than an io-bound application.=
=20
details could help to understand and give advice.

oh yes, if your "particular way" is so complex and critical that it needs t=
o=20
be written in assembler you might even consider using an FPGA extension, bu=
t=20
that's a completely other way of solving speed problems. furthermore that's=
=20
just of interest if your algorithm is vectorizable, and it didn't sound lik=
e=20
it.

cheers
  simon

=2D-=20
/"\
\ /
 \     ASCII Ribbon Campaign
/ \  Against HTML Mail and News

--nextPart4532779.pnLIk1ZdN4
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (FreeBSD)

iD8DBQBB7XJsr5S+dk6z85oRAqltAJ94vQxOs+F4Reir90gYgtO+MgTPsACgzK37
4c2zxRBoPXc+62Fd7v1bumc=
=DcO4
-----END PGP SIGNATURE-----

--nextPart4532779.pnLIk1ZdN4--



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