Re: Windows Scheduling on I/O bound systems with >2 cores/processo



Does your device driver serialize read/write requests? If it's DMA, why the
processor usage have to be 100%? How many requests your device can execute
in parallel?

"kota" <kota@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:8F8AFF87-A15D-4EF4-BAEC-0FC6B8A5A92C@xxxxxxxxxxxxxxxx
Hi Alexander,

Thanks for your reply & here are the details:

Test: It is a load test, creating more processes and load the system.
Processes: Each process does the continuous read & write DMA operations

How the device is opened: Two device handles are opened, one for
overlapped
& other for non overlapped.
Non overlapped handle will be used in the places where it is not required.
Overlapped handle is used for read, write operations, though overlapped is
used here, it waits in DLL only until the operation is completed.


CPU usage: On <= 2 processor systems, both CPU's are loaded 100%.
On >2 processor, only the CPU's are 100%, which are executing the
processess.

Expections: Windows does the round robin scheduling, so we are verifying
that, all processes were able to do the read & write DMA.
This is observed for 10seconds.

But >2processor systems:
In this case, Only few processes are doing the read write operations &
other
processes never got a chance to run.

But <=2processor systems:
Tested with 512 processes also, it is observed that, all processes are
getting a chance to do some operations in 10sec interval.

Let me know, if you need any more info.

Thanks,
Prafulla


"Alexander Grigoriev" wrote:

Tell in more details, what do your processes do, and what are your
expectations. WHat CPU usage for each processor you observe. How the
device
handle is opened.


"kota" <kota@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:362FB487-9E4D-405A-93D1-EAFD6B2AA700@xxxxxxxxxxxxxxxx
Hi,

We are running Load test on our PCI IO card(WDF driver), we find
differnt
observations on >2cores/processor/hyper thread systems, here are the
observations:

The test spawns multiple processes and allows them to run a continuous
read
write loop for a fixed period of time.

On machines with <= 2 processors, cores or hyper threads the system
would
schedule the process in a round robin fashion. A process would get
scheduled
and run a pass of the read loop, then another process would do the same
thing.
==> This is working perfectly fine for dual core & tested till 256
processes.

On machines with >2 processors a single process would execute its read
loop
for several passes taking up to 10 seconds with the other process idle.
==> Not sure about why the windows XP os scheduling is differ on these
systems?

Using a PCI analyzer and an instrumented driver it was shown that on
the
failing system some process where getting starved

Any clues, suggestions are welocme.
This is tested only on XP-32 OS only, but we definetely wanted to work
on
xp-32 also.
Kindly let me know, if you need any more info.

Thanks,
Kota





.



Relevant Pages

  • dma timeout
    ... my *old hdd* got up with dma mode. ... PIIX4: IDE controller at PCI slot 00:04.1 ... ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ... hda: attached ide-disk driver. ...
    (Debian-User)
  • Re: [RFC v2 2/5] dmaengine: Add slave DMA interface
    ... DMA engine driver is free to decide on its own. ... with, than slave transfers, which may be quite slow depending on the ...
    (Linux-Kernel)
  • Re: [PATCH] Blackfin: blackfin on-chip SPI controller driver
    ... patch, rather than initial-plus-cleanups. ... Please put this in Kconfig up with the other SPI controller drivers, ... relevant points in the driver. ... place to reverse any DMA mappings ... ...
    (Linux-Kernel)
  • [PATCH RFC v5] net: add PCINet driver
    ... PCI bus as its transport mechanism. ... RFC v4 -> RFC v5: ... use seperate DMA channels for RX and TX ... Thanks to all of those who have posted comments about the driver. ...
    (Linux-Kernel)
  • Re: pci error recovery procedure
    ... DMA on a per-slot basis, ... enables DMA before some other driver has reset appropriately, ... If one driver of a multi-function card enables DMA before ... The pSeries platform error recovery procedure can only enable DMA ...
    (Linux-Kernel)