Re: Kexec, DMA, and SMP

Corey Minyard
2003-02-11T15:11:08Z

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Suparna Bhattacharya wrote:

|On Tue, Feb 11, 2003 at 08:06:44AM -0600, Corey Minyard wrote:
|
|>|
|>|We could just reserve a memory area of reasonable size (how
|>|much ?) which would be used by the new kernel for all its
|>|allocations. We already have the infrastructure to tell the
|>|new kernel which memory areas not to use, so its simple
|>|enough to ask it exclude all but the reserved area.
|>|By issuing the i/o as early as possible during bootup
|>|(for lkcd all we need is the block device to be setup for
|>|i/o requests), we can minimize the amount of memory to
|>|reserve in this manner.
|>
|>DMA can occur almost anywhere. If you restrict the area of DMA, that
|>means you have to copy the contents to the final destination. I don't
think
|>we want to do that in many cases.
|
|
|The scope here was just the case that Eric seemed to be
|trying to address, the way I understood it, and hence a much
|simpler subset of the problem at hand, since it is not really
|tackling the rouge/buggy cases. There is no restriction on
|where DMA can happen, just a block of memory area set aside
|for the dormant kernel to use when it is instantiated.
|So this is an area that the current kernel will not use or
|touch and not specify as a DMA target during "regular"
|operation.

You don't understand. You don't *want* to set aside a block of memory
that's
reserved for DMA. You want to be able to DMA directly into any user
address.
Consider demand paging. The performance would suck if you DMA into some
fixed region then copied to the user address. Plus you then have another
resource you have to manage in the kernel. And you still have to change all
the drivers, buffer management, etc. to add a flag that says "I'm going
to use
this for DMA" to allocations. You might as well add the quiesce
function, it's
probably easier to do. And it doesn't help if you DMA to static memory
addresses.

I, too, would like a simpler solution. I just don't think this is it.

- -Corey
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQE+SRTJmUvlb4BhfF4RAg2ZAJ9R52BdasmLGTMI6GmX+2j0CeLXPwCfQzfE
wQYjBHmyCThURH2hjZ83wfE=
=kZiP
-----END PGP SIGNATURE-----