All of lore.kernel.org
 help / color / mirror / Atom feed
* ide prd table size
@ 2002-08-02 17:30 Gerald Champagne
  2002-08-03 23:32 ` Marcin Dalecki
  0 siblings, 1 reply; 3+ messages in thread
From: Gerald Champagne @ 2002-08-02 17:30 UTC (permalink / raw)
  To: linux-kernel

I have a question about the calculation of the PRD_ENTRIES constant used
in the ide code  The documentation for the size of PRD_ENTRIES says
this:
-----------------------------
/*
Our Physical Region Descriptor (PRD) table should be large enough to
handle the biggest I/O request we are likely to see.  Since requests can
have no more than 256 sectors, and since the typical blocksize is two or
more sectors, we could get by with a limit of 128 entries here for the
usual worst case.  Most requests seem to include some contiguous blocks,
further reducing the number of table entries required.

As it turns out though, we must allocate a full 4KB page for this, so
the two PRD tables (ide0 & ide1) will each get half of that, allowing
each to have about 256 entries (8 bytes each) from this.
*/
#define PRD_BYTES	8
#define PRD_ENTRIES	(PAGE_SIZE / (2 * PRD_BYTES))
-----------------------------


This looks a little outdated, but I'm interested in the second
paragraph.  I don't see where multiple interfaces are sharing the same
page.  The documentation here and for pci_alloc_consistent says that
blocks are allocated in full pages.  This implies that the unused
portion is wasted.

So...

- Is the code wasting half of the page, and should PRD_ENTRIES be
redefined to be larger?

- Am I misunderstanding the documentation, and is the other half of the
page used somewhere else?

- Am I misunderstanding the code, and do multiple interfaces share the
page?

- Should this be modified to use the pci_pool interface as defined in
DMA-mapping.txt?

Thanks!

Gerald






^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2002-08-06 16:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-08-02 17:30 ide prd table size Gerald Champagne
2002-08-03 23:32 ` Marcin Dalecki
2002-08-06 16:27   ` Gerald Champagne

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.