Path: news.mitre.org!blanket.mitre.org!philabs!newsjunkie.ans.net!newsfeeds.ans.net!news-was.dfn.de!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!howland.erols.net!usc!newshub.cts.com!newsfeed.cts.com!cmkrnl!jeh From: jeh@cmkrnl.com (Jamie Hanrahan) Newsgroups: comp.os.ms-windows.programmer.nt.kernel-mode Subject: Re: KeInsertQueueDpc bug on SMP systems? Message-ID: <1998Jan16.154525.8420@cmkrnl> Date: 16 Jan 98 15:45:25 PST References: <69lhm3$q2r$1@decius.ultra.net> <69od14$ptg@news.microsoft.com> <34cfd06e.183398828@news.alt.net> Organization: Kernel Mode Systems, San Diego, CA Lines: 24 In article <34cfd06e.183398828@news.alt.net>, tony@ercolano.com (Anthony V. Ercolano) writes: > Paul, I have a proposal for a doc change. > > Right now it says: > > "If the specified DPC object is already in the DPC queue, no operation > is performed except to return FALSE. Otherwise, the DPC object is > inserted in the DPC queue and a software interrupt is requested at > IRQL DISPATCH_LEVEL on the current processor." > > after "return FALSE", please insert: "Or we may (if you're unlucky) > totally screw up kernel maintained data structures, and bugcheck > shortly thereafter. Not quite. If it's already on the queue, there isn't a problem. The problem shows up if it ISN'T on the queue and you try to insert it from more than one CPU at very close to the same time. --- Jamie Hanrahan, Kernel Mode Systems, San Diego CA Internet: jeh@cmkrnl.com (JH645) CompuServe: 74140,2055 drivers, internals, networks, applications, and training for VMS and Windows NT NT driver FAQ, links, and other information: http://www.cmkrnl.com/ If you post a reply in news, please don't e-mail it too.