KMDF Driver. What are the recommended limits for buffer size when calling WdfCommonBufferCreate

Hi,
I have a customer who wants to really stress-test his PCIe hardware. His idea is to declare two 8 GB buffers alternately filled by application software and fetched by scatter/gather DMA in the hardware (Transfer to PCIe card). If I calculate this through,
this is a maximum of 2M scatter/gather elements per buffer or 32 MByte, assuming S/G element is 16 bytes. i.e. 64 MByte logically contiguous memory as a common buffer for storing the S/G lists. The test system will have plenty of memory, 32 G upwards.
Still don't think I am likely to get a 64MByte common buffer from the system or even two disjunct 32 Mbyte buffers. If I look at poolmon on my server, the current size for NP is only 86M
So I expect the driver will have to handle multiple calls to EvtProgramDma, each covering just part of the 8G to be transferred.
Still I have two questions:
1) Are there any recommendations, house numbers from experience etc. regarding what is a usable maximum size I can reliably get for a common buffer with a call to WdfCommonBufferCreate (percentage of NP pool?, absolute number? ...). The common buffer is
for storing the S/G elements for the HW DMA controller
2) If I just declare a huge array of SCATTER_GATHER_ELEMENT[4M] or 2x huge arrays SCATTER_GATHER_ELEMENT[2M] in the device context (to be managed later by WdfMemoryCreatePreallocated() etc.) , will windows refuse to load the driver because the driver footprint
is too large?
We are talking about Windows 7/x64
Thanks,
Charles

Don,
thanks for your reply. The card is always physically present in the test system which means I could load the driver at boot time, but it would have to be after PCIe enumeration of course.
So far I have always managed to avoid writing a boot-start driver, my main objection being for "purist" reasons. I understand the MS documentation to mean that boot-start is really only intended for devices that are required to boot the system
(disk, console, keyboard, maybe network ....). I am aware of the advantage of boot-start though, a much higher probability of getting contiguous memory in larger chunks. This driver however is definitely not relevant for system start. The add-in card is essentially
a high performance source of test data and only runs when a SW application has been started.
The card does have high performance scatter/gather DMA support also 64-bit addressing capability.
I do wish Microsoft would issue some guidelines regarding realistic sizing of common buffers, it would make my discussion easier. Yes, I could write a test driver and measure it out but I don't really have time for that. Microsoft surely have test/application
teams for figuring these things out.
Charles

Similar Messages

  • What are the recommended specs for Spiceworks Network Monitor

    What are the recommended disk size and memory for Network Monitor?
    This topic first appeared in the Spiceworks Community

    Thanks for the response Ralph but I am looking for a more personal experience someone may have managing 200+ Macs via the OS X server and what their specs are.

  • WHAT ARE THE RECOMMENDED CERTIFICATIONS FOR A SOFTWARE DEVELOPER?

    HI FRIENDS COULD SOME ONE HELP ME OUT WITH THE LIST OF RECOMMENDED CERTIFICATION FOR A PROGRAMMER. TO GIVE YOU AN IDEA OF MY WORKING PLATFORM. I WORK IN C/C++ AS FRONTEND WITH UNIX AS BACKEND. I ALSO DEAL WITH UML AT TIMES. SO DO PLEASE HELP ME OUT TO SPOT THE EXACT CERTIFICATION WHICH WOULD HELP ME IN MY CARRIER.
    Edited by: user11087237 on 20 Apr, 2009 9:43 PM

    You can get an OCP (Advanced PL/SQL) by completing 1z0-146. You have in practice to get PLSQL OCA first.
    You can also get OCP via a forms route instead .... 1z0-141. What I am trying to say is Oracle has a number of products other than sql* Forms, and forms may be in decline, so if you are not already familiar with forms that may not be the best place to put efforts.
    What I was trying to say that is possilbly that effot getting to know apex (application express) may be better than time spent trying to ge to grips with and certifiying in Forms. (Though as far as I am aware there is no apex certification).
    i feel that you suggest me something other than oca /ocp certification. if i am right do please clear me out . and for your information i have worked in sql & plsql for quite a good time.In summary
    I am suggesting you seriously consider Oracle PL/SQL Developer Certified Associate(OCA) and Oracle Advanced PL/SQL Developer Certified Professional (OCP).
    However the case for studying for (Oracle Forms Developer Certified Professional (OCP)) is perhaps less clear cut if you have not aleady got forms experience, and that for you effort may be better spent elsewhere, possilby even in non certified study (jdeveloper, application express, oracle designer ... )
    Rgds - bigdelboy
    Hope that is less unambiguous.

  • What are the best practices for average size of an Adobe PDF file on a Web Server to be downloaded?

    We know at a certain point, an extremely large file can be slow in downloading/accessing from a web site, and lessens the end-user's experience.  How large is too large? What is a good average or suggested size for Adobe PDF files in general?
    Thank you for any guidance.

    I'm sure it varies depending on one's opinion but we have a policy that they should be under 1- 1.5MB. This isn't always posible of course. Our PDF's are mostly informational and contain little or no graphics.
    I would say that it greatly depends on the PDF. If you get up over that size, you should do your best to optimize it for your users. Sometimes you can only do so much.

  • What are the storage limits for LR Mobile Sync?

    I'm trying to find a definitive answer on whether there are limits to the amount of data that can be synced to Lightroom Mobile. I know my CC subscription gets me 20GB but I have also heard suggestions that LR Mobile sync data is outside of that.
    I have a 128GB iPad, so it wouldn't be terribly hard for me to blow a 20GB limit.
    Thanks,
    Fraser

    Fraser, Mobile only has lossy Smart Previews and camera roll files so you can have plenty of files on your iPad from Lightroom. They are outside the 20GB of CC AFAIK.

  • What are the recommended settings for multiple iPhones and iPads in the same family?  I don't want my family members contacts in mine...or them receiving texts that are intended just for me.  Help!

    I don't want my wife's or children's contact information in my contacts during syncing...or them receiving texts that are intended or me.  Can someone please tell me how they handle multiple family members settings in regard to emails, iCloud, and iTunes?  Does each phone have a separate computer login, iTunes account or iCloud accounts?  Help!

    Yes, set them up with their own Apple IDs:
    http://appleid.apple.com
    An Apple ID may have been entered in the following places:
    Settings > iCloud > Account
    Settings > Messages > Send & Receive
    Settings > FaceTime
    Settings > iTunes & App Stores

  • What Are the Recommended Guidelines for Importing HTML into InDesign?

    I would like to introduce an html document into an InDesign project - is that even possible?
    I'm not an MS Word user, but am running Open Office, should that be required in addition to having the entirety of the Extended CS6 Design-Web suite.
    Thank you very much for any replies.
    Kind regards,
    Kelly

    Hi Petteri,
    Thanks for answering.
    The final format would be destined for the printer who would prefer the file to be from InDesign.
    I'm aware of the quality differences between images intended for print and those for the web.
    The short version of the idea is to take the tabular (i.e., ugly) data generated from one program and edit it into something more attractive while also making the folks at the print shop happy. WTides (or some other derived flavor of XTides) can generate plain text or html tables. The html can be templated so that there is a minimal amount of post editing required. The images in the html tags can be high resolution images of the various symbols; e.g., moon phases, etc.
    Thank you again for any suggestions.
    Kelly

  • With Premiere elements 11, when Publish/Share (saving) a finished video, selecting H.264  .mov file type, what are the recommended Codec and Aspect settings for a crisp video and a small file size?

    With Premiere Elements 11, when Publish/Share (saving) a finished video, selecting H.264  .mov file type, what are the recommended Aspect and Codec settings , for a crisp video with a small file size?

    Gary Krouse
    We will customize a very detailed reply, but
    (a) What are the properties of your source media?
    (b) What did you or the program set as the project preset to match the properties of the source media?
    (c) What specific requirements do you have for this H.264.mov export file?
    File size can be a compromise between bitrate, file size, and quality.
    Thanks.
    ATR

  • HT4949 what are the system requirements for mac os x 10.6 server?

    what are the system requirements for mac os x 10.6 server?

    While not 'intended', it is indeed possible on a portable. Exigent circumstances required me to re-role an aging MacBook Pro 2.16 Intel Core Duo to act as a server on a temporary basis.
    It boots just fine from an external drive running Server 10.6.8. I also believe that installation (while not recommended) is not actually blocked.
    Tip for the top: just be sure to pull the battery out of the laptop (assuming that's possible) to avoid turning your battery into a grossly distended, non-functional brick... they were not designed to be left on charge permanently!

  • What are the basic steps for creating a content repository?

    I am trying to create a document store on a file system (fsdb) that will hold files that are ftp's to that location. Is this possible using KM? If so, what are the basic steps for creating a file system repository and using it through KM? I have found stuff on help.sap.com but that only tells you what each component does not what actual steps need to be taken to setup KM, such as user rights , creating an entry point, so that all of KM is not visible, etc...
    If anyone knows of any guides that show a step by step process that would be great too.
    Thanks
    Paul

    Hi Paul
    First of all you need to create a new repository
    Suppose you want to add all the documents under folder Paul under C: Drive
    (Even you can put whole documents of C: drive into Paul)
    Navigate to System Admin -> System Configuration -> Knowledge management -> Content Management -> Repository Manager -> File System Repository
    There you can create a new directory by clicking on button New
    Give the parameters as follows :-
    Name               :           Anything you like
    Description       :           Anything you want
    Prefix (must start with /)  :  Probably same as your repository name like \Paul
    Lookup mode : caseless
    Root Directory   :  C:\Paul
    NOTE:  This is the trick. You need to give the proper path means folder path which you want use as repository)
    Repository Services  :  Any services you want
    Property Search : Managercom.sapportals.wcm.repository.manager.generic.search.SimplePropertySearchManager
    Security Manager         :           AclSecurityManager
    ACL Manager Cache   :           ca_cm_rep_acl
    The save it
    Now see whether the same repository is coming under KM Content or not, if not may be after restart it will come.
    I think the above information will help you. If still you have problem, please feel free to contect me.
    Regards,
    Chamkaur

  • What is the recommended way for persisting JMS messages?

    What is the recommended way for persisting JMS messages?. As per the IMQ admin documentation , using the default built-in persistence type which is through unix flat files is much efficient and faster, compared to the database persistence .
    Tried setting up the jdbc stuff for database persistence on iAS 6.5 . I am getting the following
    error .
    [24/Apr/2002:16:09:20 PDT] [B1060]: Loading persistent data...
    [24/Apr/2002:16:09:21 PDT] Using plugged in persistent store: database connection
    url=jdbc:oracle:thin:@dbatool.mygazoo.com:1521:qa1 brokerid=ias01
    [24/Apr/2002:16:09:23 PDT] [B1039]: Broker "jmqbroker" ready.
    [24/Apr/2002:16:11:56 PDT] ERROR [B4012]: Failed to persist interest
    SystemManager%3ASystemManagerEngine%2BiMQ+Destination%0AgetName%28%29%3A%09%09SM_Response%0AClass%3A%09%09%09com.sun.messaging.Topic%0AgetVERSION%28%29%3A%09%092.0%0AisReadonly%28%29%3A%09%09false%0AgetProperties%28%29%3A%09%7BJMQDestinationName%3DSM_Response%2C+JMQDestinationDescription%3DA+Description+for+the+Destination+Object%7D:
    java.sql.SQLException: ORA-01401: inserted value too large for column
    [24/Apr/2002:16:11:56 PDT] WARNING [B2009]: Creation of consumer SM_Response to destination 1
    failed:com.sun.messaging.jmq.jmsserver.util.BrokerException: Failed to persist interest
    SystemManager%3ASystemManagerEngine%2BiMQ+Destination%0AgetName%28%29%3A%09%09SM_Response%0AClass%3A%09%09%09com.sun.messaging.Topic%0AgetVERSION%28%29%3A%09%092.0%0AisReadonly%28%29%3A%09%09false%0AgetProperties%28%29%3A%09%7BJMQDestinationName%3DSM_Response%2C+JMQDestinationDescription%3DA+Description+for+the+Destination+Object%7D:
    java.sql.SQLException: ORA-01401: inserted value too large for column
    Any thoughts?

    From the output, you are using imq 2.0. In that release
    the key used to persist a durable subscriber in the database
    table has a limit of 100 characters. The output shows that
    your value is:
    SystemManager%3ASystemManagerEngine%2BiMQ+Destination%0AgetName%28%29%3A%09%09SM_Res
    ponse%0AClass%3A%09%09%09com.sun.messaging.Topic%0AgetVERSION%28%29%3A%09%092.0%0Ais
    Readonly%28%29%3A%09%09false%0AgetProperties%28%29%3A%09%7BJMQDestinationName%3DSM_R
    esponse%2C+JMQDestinationDescription%3DA+Description+for+the+Destination+Object%7D:
    which is much longer than 100 characters.
    You might want to shorten the string you use for the
    durable name.
    And yes, the default file-based persistence store is
    more efficient when compared to the plugged-in persistence
    through a database.

  • What's the recommended setting for "Process memory usage" ("process virtual" in UI) for a 64-bit host on a 64-bit OS?

    Hi gurus
    In resource based throttling, what's the recommended setting for "Process memory usage" ("process virtual" in the resource based throttling tab of the UI) for a 64-bit host
    on a 64-bit Windows OS?
    According to MS (http://msdn.microsoft.com/en-us/library/ee308808(v=bts.10).aspx):
    "By default, the
    Process memory usage throttling threshold is set to 25. If this value is exceeded and the BizTalk process memory usage is more than 300 MB, a throttling condition may occur. On a 32-bit
    server, you can increase the Process memory usage value to 50. On a 64-bit server, you can increase this value to 100. This allows for more memory consumption by the BizTalk process before throttling
    occurs."
    Does this mean that 100 is the recommended setting for a 64-bit host on a 64-bit Windows?
    Thanks
    Michael Brandt Lassen

    Hi Michael,
    Recommended setting is the default setting which is 25 .dot.
    If your situation is abnormal and you see message delivery throttling state to “4” when the following performance counters are high or if you expect any of you integration
    process could have impact on following counters, then you can consider the suggestion by Microsoft. Don’t change the default setting.
    High process memory
    Process memory usage (MB)
    Process memory usage threshold (MB)
    You can see these counters under “BizTalk:MessageAgent”
    You can gauge these performance counter and its maximum values if have done any regression/performance testing in your test servers. If you have seen these counters having
    high values and causing throttling, then you can update the Process memory usage.
    Or unexpectedly you’re process high throughput messages in production which is causing these counters to go high and cause throttling, then up can update the Process memory
    usage.
    The above two cases where I know my expected process usage (by doing performance testing) or suddenly my production server processing has gone high due to unexpected business
    hike (or any reasons) which caused throttling, then do changes to default throttling setting.
    Just changing the default setting without actual reason could have adverse effect where you end up allocating 
    more processing capacities but the actual message processing message usage ever is low means you end up investing in underutilised resources.
    Regards,
    M.R.Ashwin Prabhu
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • What are the config steps for contract mass change and quota arrangement?

    Hi friends
    what are the config steps for contract mass change and quota arrangement?
    Regards
    Raj Kumar

    Process Flow
    The mass change process consists of four steps. You navigate between these steps by choosing the Next and Back buttons located at the bottom right-hand corner of the screens.
           1.      Search for contracts
    You search for and select the contracts or the contract hierarchy that you want to change.
    Contracts that have the status Closed cannot be changed.
           2.      Define mass changes
    You specify the changes you want to make.
    You make changes at header data level and at item data level by choosing the relevant change methods. A green tick appears next to each change parameter so that you can see where changes are already active.
    Once you enter this step, the documents you have selected to be changed are locked so that other users cannot make changes to them until you are finished with this process.
           3.      Simulate mass changes
    Here you can perform a trial run of your mass changes. This simulation step is optional.
    We recommend that you perform this step so that you can check how the change methods you have chosen will be processed by the system.
    You receive status messages about the change methods for each contract and can quickly see whether any errors arise in connection with the proposed changes at this stage. From this step, it is easier for you to go back and correct the error than after applying the changes.
    Background processing
    The system processes the changes in the background.
    If there are a large number of contracts to be processed, this step could take some time to complete. In this case, you can leave the transaction so that you can, for example, carry out other tasks in the meantime.
    The system sends you an e-mail once the simulation step is complete. The e-mail contains a link to the relevant screen in the application so that you can return to it when it is convenient for you to do so. If you have left the SRM application, you can only return via this link.
    Here you can see the status of the changes and, if necessary, you can correct any errors by going back to the Define mass changes step.
    The messages that you receive in the simulation step are not confirmation that a change has been performed. They simulate the messages you get after you apply the changes. You must complete the final step of the mass change process and apply the changes before they take effect.
           4.      Carry out mass changes
    Here you apply the changes to the contracts.
    You cannot reverse this step, which is why we advise you to perform the simulation step beforehand.

  • FAQ: What are the system requirements for GroupPix?

    FAQ: What are the system requirements for GroupPix?
    Answer:
    iOS:   minimum iOS version is 6.0           GroupPix 1.x runs on iPhone 4, 4s, iPhone 5, or iPod touch (5th generation or later)
    Android: minimum OS version 4.0         GroupPix 1.x is designed for Android phones
    Message was edited by: Pattie F 11/7/13

    For Mac:
    http://support.apple.com/kb/SP663
    Software:
    Mac OS X version 10.6.8 or later (intel-based hardware)
    400MB of available disk space
    iTunes in the Cloud and iTunes Match availability may vary by country.
    Hardware:
    Mac computer with an Intel Core processor and 512MB of RAM
    To play 720p HD video, an iTunes LP, or iTunes Extras, a 2.0GHz Intel Core 2 Duo or faster processor and 1GB of RAM is required.
    To play 1080p HD video, a 2.4GHz Intel Core 2 Duo or faster processor and 2GB of RAM is required.
    Screen resolution of 1024x768 or greater; 1280x800 or greater is required to play an iTunes LP or iTunes Extras
    Broadband Internet connection to use the iTunes Store
    Apple combo drive or SuperDrive to create audio, MP3, or back-up CDs; some non-Apple CD-RW recorders may also work
    Apple SuperDrive to back up your library to DVDs; some non-Apple DVD-RW drives may also work.
    You can run OS X 10.6.8 in an Intel-based MacBook w/ first model, in retail DVD.
    But it won't work in a power-pc architecture Mac... see specifications:
    http://store.apple.com/us/product/MC573Z/A/mac-os-x-106-snow-leopard
    Hopefully this helps.
    Good luck & happy computing!

  • What are the system requirements for apple itunes 11.1?

    what are the system requirements for apple itunes 11.1?

    For Mac:
    http://support.apple.com/kb/SP663
    Software:
    Mac OS X version 10.6.8 or later (intel-based hardware)
    400MB of available disk space
    iTunes in the Cloud and iTunes Match availability may vary by country.
    Hardware:
    Mac computer with an Intel Core processor and 512MB of RAM
    To play 720p HD video, an iTunes LP, or iTunes Extras, a 2.0GHz Intel Core 2 Duo or faster processor and 1GB of RAM is required.
    To play 1080p HD video, a 2.4GHz Intel Core 2 Duo or faster processor and 2GB of RAM is required.
    Screen resolution of 1024x768 or greater; 1280x800 or greater is required to play an iTunes LP or iTunes Extras
    Broadband Internet connection to use the iTunes Store
    Apple combo drive or SuperDrive to create audio, MP3, or back-up CDs; some non-Apple CD-RW recorders may also work
    Apple SuperDrive to back up your library to DVDs; some non-Apple DVD-RW drives may also work.
    You can run OS X 10.6.8 in an Intel-based MacBook w/ first model, in retail DVD.
    But it won't work in a power-pc architecture Mac... see specifications:
    http://store.apple.com/us/product/MC573Z/A/mac-os-x-106-snow-leopard
    Hopefully this helps.
    Good luck & happy computing!

Maybe you are looking for

  • Actions getting disappeared

    Hi experts, I am facing one issue while loading actions for US payroll. On 14.04.2010 one action with emp status 3 is existing in system. also one leaving action with emp status 1 on 05.05.2010.  While uploading a backdated change in pay action on 20

  • In After Effects..How do I add a ramp to a stroke so it fades to bkgrd as a reflection?

    I am trying to create a reflection on a solid black background with bot text and an image/movie. Whenever I use linear wipe it wipes out the inside but leaves the stroke solid. In simple step by step terms how do i apply a ramp/gradient to a stroke t

  • Exam 1z0-051 or 1z0-052

    i was going for write exam 1z0-051,by this can i get any certificate or i have to go for 1z0-052 also? please help me?

  • App Killer - still useful with Droid 2.2 OS update?

    I've been hearing mixed reviews on whether or not App Killer is a help or hindrance with the 2.2 OS.  Does anyone have some information on it?

  • Ethernet Network Setup

    I currently have an iMac, macbook, time capsule and apple TV. I have a 50M broadband connection into the time capsule, and the time capsule generates the wireless network. I want to connect all devices via ethernet to get better performance (ie iMac