From mboxrd@z Thu Jan 1 00:00:00 1970 From: "michele.paolino" Subject: Re: generate random numbers Date: Fri, 26 Feb 2010 18:43:14 +0100 Message-ID: <14f366f91002260943n203faba8r79b3c0d4d5d7622d@mail.gmail.com> References: <14f366f91002111231reae2e41vc8f823b38e16a76b@mail.gmail.com> <14f366f91002120032uc08b7d6sb2283e10c9444bbf@mail.gmail.com> <14f366f91002121442h536a2d03if7d9bdee416a4a23@mail.gmail.com> <1266016370.15135.2942.camel@agari.van.xensource.com> <14f366f91002251031g538dcffan9fe5208b5d981444@mail.gmail.com> <4B86EADC.70301@eu.citrix.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001636c5b46744405a048084702a Return-path: In-Reply-To: <4B86EADC.70301@eu.citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: George Dunlap Cc: "Xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org --001636c5b46744405a048084702a Content-Type: multipart/alternative; boundary=001636c5b46744404a0480847028 --001636c5b46744404a0480847028 Content-Type: text/plain; charset=ISO-8859-1 Following George's advices I have rewrited my scheduler. But now serial console's log report me a bug in a function of timer.c (XEN) **************************************** (XEN) Panic on CPU 0: (XEN) Xen BUG at timer.c:184 (XEN) **************************************** This is caused by cpumask_raise_softirq() in my wake() function. What can I do? Michele On Thu, Feb 25, 2010 at 10:25 PM, George Dunlap wrote: > The problem is that you're choosing a random vcpu to run, without > considering whether it *wants* to run or not. In this case, you're running > a vcpu before it's even been completely set up yet (write_cr3 is failing > because the guest *has* no cr3 ready yet). > > The normal way schedulers deal with this is to keep one list of all vcpus > (or all domains), and another list with "runnable" vcpus. You can keep > track of which vcpus are runnable with the vcpu_wake() callback and by using > vcpu_runnable() in schedule(). > > At very least, your loop in schedule should check vcpu_runnable() before > selecting it. > > -George > > > michele.paolino wrote: > >> Here's my random scheduler. It works until I start a virtual machine >> (error file attached is the serial console's log). >> In xen call trace there isn't any of my functions. >> To generate random numbers I'm using the hash (MD5) of NOW() function. >> I would also Know why at boot time there are two calls at vcpu_init >> function for vcpu with id = 0 ?? >> >> Thanks >> Michele >> > > --001636c5b46744404a0480847028 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Following George's advices I have rewrited my scheduler. But now serial= console's log report me a bug in a function of timer.c

(XEN) *= ***************************************
(XEN) Panic on CPU 0:
(XEN) Xen BUG at timer.c:184
(XEN) ****************************************

This is caused by= cpumask_raise_softirq() in my wake() function. What can I do?

Miche= le

On Thu, Feb 25, 2010 at 10:25 PM, Geor= ge Dunlap <george.dunlap@eu.citrix.com> wrote:
The problem is th= at you're choosing a random vcpu to run, without considering whether it= *wants* to run or not. =A0In this case, you're running a vcpu before i= t's even been completely set up yet (write_cr3 is failing because the g= uest *has* no cr3 ready yet).

The normal way schedulers deal with this is to keep one list of all vcpus (= or all domains), and another list with "runnable" vcpus. =A0You c= an keep track of which vcpus are runnable with the vcpu_wake() callback and= by using vcpu_runnable() in schedule().

At very least, your loop in schedule should check vcpu_runnable() before se= lecting it.

-George


michele.paolino wrote:
Here's my random scheduler. It works until I start a virtual machine (e= rror file attached is the serial console's log).
In xen call trace there isn't any of my functions.
To generate random numbers I'm using the hash (MD5) of NOW() function.<= br> I would also Know why at boot time there are two calls at vcpu_init functio= n for vcpu with id =3D 0 ??

Thanks
Michele


--001636c5b46744404a0480847028-- --001636c5b46744405a048084702a Content-Type: application/octet-stream; name=log Content-Disposition: attachment; filename=log Content-Transfer-Encoding: base64 X-Attachment-Id: f_g658oo5w0 IF9fICBfXyAgICAgICAgICAgIF9fX19fIF8gIF8gICAgX19fXyAgDQogXCBcLyAvX19fIF8gX18g ICB8X19fIC98IHx8IHwgIHxfX18gXCANCiAgXCAgLy8gXyBcICdfIFwgICAgfF8gXHwgfHwgfF8g ICBfXykgfA0KICAvICBcICBfXy8gfCB8IHwgIF9fXykgfF9fICAgX3wgLyBfXy8gDQogL18vXF9c X19ffF98IHxffCB8X19fXyhfKSB8X3woXylfX19fX3wNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIA0KKFhFTikgWGVuIHZlcnNpb24gMy40LjIgKHJvb3RAKSAoZ2NjIHZl cnNpb24gNC4yLjQgKFVidW50dSA0LjIuNC0xdWJ1bnR1NCkpIEZyaSBGZWIgMjYgMTg6MDQ6NDcg Q0VUIDIwMTANCihYRU4pIExhdGVzdCBDaGFuZ2VTZXQ6IHVuYXZhaWxhYmxlDQooWEVOKSBDb21t YW5kIGxpbmU6IGRvbTBfbWVtPTI2MjE0NCBsb2dsdmw9YWxsIGd1ZXN0X2xvZ2x2bD1hbGwgY29t MT0xMTUyMDAsOG4xIGNvbnNvbGU9Y29tMSBzY2hlZD1yYW5kb20NCihYRU4pIFZpZGVvIGluZm9y bWF0aW9uOg0KKFhFTikgIFZHQSBpcyB0ZXh0IG1vZGUgODB4MjUsIGZvbnQgOHgxNg0KKFhFTikg RGlzYyBpbmZvcm1hdGlvbjoNCihYRU4pICBGb3VuZCAxIE1CUiBzaWduYXR1cmVzDQooWEVOKSAg Rm91bmQgMSBFREQgaW5mb3JtYXRpb24gc3RydWN0dXJlcw0KKFhFTikgWGVuLWU4MjAgUkFNIG1h cDoNCihYRU4pICAwMDAwMDAwMDAwMDAwMDAwIC0gMDAwMDAwMDAwMDA5ZjAwMCAodXNhYmxlKQ0K KFhFTikgIDAwMDAwMDAwMDAwOWYwMDAgLSAwMDAwMDAwMDAwMGEwMDAwIChyZXNlcnZlZCkNCihY RU4pICAwMDAwMDAwMDAwMGU4MDAwIC0gMDAwMDAwMDAwMDEwMDAwMCAocmVzZXJ2ZWQpDQooWEVO KSAgMDAwMDAwMDAwMDEwMDAwMCAtIDAwMDAwMDAwM2ZmZjAwMDAgKHVzYWJsZSkNCihYRU4pICAw MDAwMDAwMDNmZmYwMDAwIC0gMDAwMDAwMDA0MDAwMDAwMCAoQUNQSSBkYXRhKQ0KKFhFTikgIDAw MDAwMDAwZmZmYmMwMDAgLSAwMDAwMDAwMTAwMDAwMDAwIChyZXNlcnZlZCkNCihYRU4pIFN5c3Rl bSBSQU06IDEwMjNNQiAoMTA0ODEyNGtCKQ0KKFhFTikgQUNQSTogUlNEUCAwMDBGQkRCMCwgMDAx NCAocjAgUUVNVSAgKQ0KKFhFTikgQUNQSTogUlNEVCAzRkZGMDAwMCwgMDAzNCAocjEgUUVNVSAg IFFFTVVSU0RUICAgICAgICAxIFFFTVUgICAgICAgIDEpDQooWEVOKSBBQ1BJOiBGQUNQIDNGRkYw MUI0LCAwMDc0IChyMSBRRU1VICAgUUVNVUZBQ1AgICAgICAgIDEgUUVNVSAgICAgICAgMSkNCihY RU4pIEFDUEk6IERTRFQgM0ZGRjAyODAsIDFERDQgKHIxICAgQlhQQyAgIEJYRFNEVCAgICAgICAg MSBJTlRMIDIwMDkwNTIxKQ0KKFhFTikgQUNQSTogRkFDUyAzRkZGMDI0MCwgMDA0MA0KKFhFTikg QUNQSTogU1NEVCAzRkZGMjA1NCwgMDlFMyAocjEgICBCWFBDICAgQlhTU0RUICAgICAgICAxIElO VEwgMjAwOTA1MjEpDQooWEVOKSBBQ1BJOiBBUElDIDNGRkYyQTM4LCAwMEVBIChyMSBRRU1VICAg UUVNVUFQSUMgICAgICAgIDEgUUVNVSAgICAgICAgMSkNCihYRU4pIEFDUEk6IEhQRVQgM0ZGRjJC OTAsIDAwMzggKHIxIFFFTVUgICBRRU1VSFBFVCAgICAgICAgMSBRRU1VICAgICAgICAxKQ0KKFhF TikgTlVNQSB0dXJuZWQgb2ZmDQooWEVOKSBGYWtpbmcgYSBub2RlIGF0IDAwMDAwMDAwMDAwMDAw MDAtMDAwMDAwMDAzZmZmMDAwMA0KKFhFTikgWGVuIGhlYXA6IDlNQiAoOTgwOGtCKQ0KKFhFTikg RG9tYWluIGhlYXAgaW5pdGlhbGlzZWQNCihYRU4pIGZvdW5kIFNNUCBNUC10YWJsZSBhdCAwMDBm YmM5MA0KKFhFTikgRE1JIDIuNCBwcmVzZW50Lg0KKFhFTikgVXNpbmcgQVBJQyBkcml2ZXIgZGVm YXVsdA0KKFhFTikgQUNQSTogUE0tVGltZXIgSU8gUG9ydDogMHhiMDA4DQooWEVOKSBBQ1BJOiBB Q1BJIFNMRUVQIElORk86IHBtMXhfY250W2IwMDQsMF0sIHBtMXhfZXZ0W2IwMDAsMF0NCihYRU4p IEFDUEk6ICAgICAgICAgICAgICAgICAgd2FrZXVwX3ZlY1szZmZmMDI0Y10sIHZlY19zaXplWzIw XQ0KKFhFTikgQUNQSTogTG9jYWwgQVBJQyBhZGRyZXNzIDB4ZmVlMDAwMDANCihYRU4pIEFDUEk6 IExBUElDIChhY3BpX2lkWzB4MDBdIGxhcGljX2lkWzB4MDBdIGVuYWJsZWQpDQooWEVOKSBQcm9j ZXNzb3IgIzAgNjoyIEFQSUMgdmVyc2lvbiAyMA0KKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRb MHgwMV0gbGFwaWNfaWRbMHgwMV0gZGlzYWJsZWQpDQooWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9p ZFsweDAyXSBsYXBpY19pZFsweDAyXSBkaXNhYmxlZCkNCihYRU4pIEFDUEk6IExBUElDIChhY3Bp X2lkWzB4MDNdIGxhcGljX2lkWzB4MDNdIGRpc2FibGVkKQ0KKFhFTikgQUNQSTogTEFQSUMgKGFj cGlfaWRbMHgwNF0gbGFwaWNfaWRbMHgwNF0gZGlzYWJsZWQpDQooWEVOKSBBQ1BJOiBMQVBJQyAo YWNwaV9pZFsweDA1XSBsYXBpY19pZFsweDA1XSBkaXNhYmxlZCkNCihYRU4pIEFDUEk6IExBUElD IChhY3BpX2lkWzB4MDZdIGxhcGljX2lkWzB4MDZdIGRpc2FibGVkKQ0KKFhFTikgQUNQSTogTEFQ SUMgKGFjcGlfaWRbMHgwN10gbGFwaWNfaWRbMHgwN10gZGlzYWJsZWQpDQooWEVOKSBBQ1BJOiBM QVBJQyAoYWNwaV9pZFsweDA4XSBsYXBpY19pZFsweDA4XSBkaXNhYmxlZCkNCihYRU4pIEFDUEk6 IExBUElDIChhY3BpX2lkWzB4MDldIGxhcGljX2lkWzB4MDldIGRpc2FibGVkKQ0KKFhFTikgQUNQ STogTEFQSUMgKGFjcGlfaWRbMHgwYV0gbGFwaWNfaWRbMHgwYV0gZGlzYWJsZWQpDQooWEVOKSBB Q1BJOiBMQVBJQyAoYWNwaV9pZFsweDBiXSBsYXBpY19pZFsweDBiXSBkaXNhYmxlZCkNCihYRU4p IEFDUEk6IExBUElDIChhY3BpX2lkWzB4MGNdIGxhcGljX2lkWzB4MGNdIGRpc2FibGVkKQ0KKFhF TikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwZF0gbGFwaWNfaWRbMHgwZF0gZGlzYWJsZWQpDQoo WEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDBlXSBsYXBpY19pZFsweDBlXSBkaXNhYmxlZCkN CihYRU4pIEFDUEk6IExBUElDIChhY3BpX2lkWzB4MGZdIGxhcGljX2lkWzB4MGZdIGRpc2FibGVk KQ0KKFhFTikgQUNQSTogSU9BUElDIChpZFsweDAxXSBhZGRyZXNzWzB4ZmVjMDAwMDBdIGdzaV9i YXNlWzBdKQ0KKFhFTikgSU9BUElDWzBdOiBhcGljX2lkIDEsIHZlcnNpb24gMTcsIGFkZHJlc3Mg MHhmZWMwMDAwMCwgR1NJIDAtMjMNCihYRU4pIEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNf aXJxIDAgZ2xvYmFsX2lycSAyIGRmbCBkZmwpDQooWEVOKSBBQ1BJOiBJTlRfU1JDX09WUiAoYnVz IDAgYnVzX2lycSA1IGdsb2JhbF9pcnEgNSBoaWdoIGxldmVsKQ0KKFhFTikgQUNQSTogSU5UX1NS Q19PVlIgKGJ1cyAwIGJ1c19pcnEgOSBnbG9iYWxfaXJxIDkgaGlnaCBsZXZlbCkNCihYRU4pIEFD UEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDEwIGdsb2JhbF9pcnEgMTAgaGlnaCBsZXZl bCkNCihYRU4pIEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDExIGdsb2JhbF9pcnEg MTEgaGlnaCBsZXZlbCkNCihYRU4pIEFDUEk6IElSUTAgdXNlZCBieSBvdmVycmlkZS4NCihYRU4p IEFDUEk6IElSUTIgdXNlZCBieSBvdmVycmlkZS4NCihYRU4pIEFDUEk6IElSUTUgdXNlZCBieSBv dmVycmlkZS4NCihYRU4pIEFDUEk6IElSUTkgdXNlZCBieSBvdmVycmlkZS4NCihYRU4pIEFDUEk6 IElSUTEwIHVzZWQgYnkgb3ZlcnJpZGUuDQooWEVOKSBBQ1BJOiBJUlExMSB1c2VkIGJ5IG92ZXJy aWRlLg0KKFhFTikgRW5hYmxpbmcgQVBJQyBtb2RlOiAgRmxhdC4gIFVzaW5nIDEgSS9PIEFQSUNz DQooWEVOKSBBQ1BJOiBIUEVUIGlkOiAweDgwODZhMjAxIGJhc2U6IDB4ZmVkMDAwMDANCihYRU4p IFVzaW5nIEFDUEkgKE1BRFQpIGZvciBTTVAgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbg0KKFhF TikgVXNpbmcgc2NoZWR1bGVyOiBteSBSYW5kb20gU2NoZWR1bGVyIChyYW5kb20pDQooWEVOKSAN CihYRU4pIA0KKFhFTikgYWRkIFZDUFUgMA0KKFhFTikgDQooWEVOKSBJbml0aWFsaXppbmcgQ1BV IzANCihYRU4pIERldGVjdGVkIDI1MzMuMzQwIE1IeiBwcm9jZXNzb3IuDQooWEVOKSBDUFU6IEwx IEkgY2FjaGU6IDMySywgTDEgRCBjYWNoZTogMzJLDQooWEVOKSBDUFU6IEwyIGNhY2hlOiAyMDQ4 Sw0KKFhFTikgSW50ZWwgbWFjaGluZSBjaGVjayByZXBvcnRpbmcgZW5hYmxlZCBvbiBDUFUjMC4N CihYRU4pIENNQ0k6IENQVTAgaGFzIG5vIENNQ0kgc3VwcG9ydA0KKFhFTikgQ1BVMDogSW50ZWwg UUVNVSBWaXJ0dWFsIENQVSB2ZXJzaW9uIDAuMTEuMCBzdGVwcGluZyAwMw0KKFhFTikgVG90YWwg b2YgMSBwcm9jZXNzb3JzIGFjdGl2YXRlZC4NCihYRU4pIEVOQUJMSU5HIElPLUFQSUMgSVJRcw0K KFhFTikgIC0+IFVzaW5nIG5ldyBBQ0sgbWV0aG9kDQooWEVOKSAuLlRJTUVSOiB2ZWN0b3I9MHhG MCBhcGljMT0wIHBpbjE9MiBhcGljMj0tMSBwaW4yPS0xDQooWEVOKSBCQUQgSFBFVCByZXZpc2lv biBpZC4NCihYRU4pIFBsYXRmb3JtIHRpbWVyIGlzIDMuNTc5TUh6IEFDUEkgUE0gVGltZXINCihY RU4pIEJyb3VnaHQgdXAgMSBDUFVzDQooWEVOKSBJL08gdmlydHVhbGlzYXRpb24gZGlzYWJsZWQN CihYRU4pIENQVUlETEU6IGRpc2FibGVkIGR1ZSB0byBubyBIUEVULiBGb3JjZSBlbmFibGUgd2l0 aCAnY3B1aWRsZScuDQooWEVOKSBBQ1BJIHNsZWVwIG1vZGVzOiBTMw0KKFhFTikgbWNoZWNrX3Bv bGw6IE1hY2hpbmUgY2hlY2sgcG9sbGluZyB0aW1lciBzdGFydGVkLg0KKFhFTikgDQooWEVOKSAN CihYRU4pIGFkZCBWQ1BVIDANCihYRU4pIA0KKFhFTikgKioqIExPQURJTkcgRE9NQUlOIDAgKioq DQooWEVOKSAgWGVuICBrZXJuZWw6IDMyLWJpdCwgUEFFLCBsc2INCihYRU4pICBEb20wIGtlcm5l bDogMzItYml0LCBQQUUsIGxzYiwgcGFkZHIgMHhjMDEwMDAwMCAtPiAweGMwNDhkMzNjDQooWEVO KSBQSFlTSUNBTCBNRU1PUlkgQVJSQU5HRU1FTlQ6DQooWEVOKSAgRG9tMCBhbGxvYy46ICAgMDAw MDAwMDAzYzAwMDAwMC0+MDAwMDAwMDAzZTAwMDAwMCAoNTczNDQgcGFnZXMgdG8gYmUgYWxsb2Nh dGVkKQ0KKFhFTikgVklSVFVBTCBNRU1PUlkgQVJSQU5HRU1FTlQ6DQooWEVOKSAgTG9hZGVkIGtl cm5lbDogYzAxMDAwMDAtPmMwNDhkMzNjDQooWEVOKSAgSW5pdC4gcmFtZGlzazogYzA0OGUwMDAt PmMxMmVjMjAwDQooWEVOKSAgUGh5cy1NYWNoIG1hcDogYzEyZWQwMDAtPmMxMzJkMDAwDQooWEVO KSAgU3RhcnQgaW5mbzogICAgYzEzMmQwMDAtPmMxMzJkNDdjDQooWEVOKSAgUGFnZSB0YWJsZXM6 ICAgYzEzMmUwMDAtPmMxMzNkMDAwDQooWEVOKSAgQm9vdCBzdGFjazogICAgYzEzM2QwMDAtPmMx MzNlMDAwDQooWEVOKSAgVE9UQUw6ICAgICAgICAgYzAwMDAwMDAtPmMxNDAwMDAwDQooWEVOKSAg RU5UUlkgQUREUkVTUzogYzAxMDAwMDANCihYRU4pIERvbTAgaGFzIG1heGltdW0gMSBWQ1BVcw0K KFhFTikgU2NydWJiaW5nIEZyZWUgUkFNOiAuLi4uLi4uZG9uZS4NCihYRU4pIFhlbiB0cmFjZSBi dWZmZXJzOiBkaXNhYmxlZA0KKFhFTikgU3RkLiBMb2dsZXZlbDogQWxsDQooWEVOKSBHdWVzdCBM b2dsZXZlbDogQWxsDQooWEVOKSAqKiogU2VyaWFsIGlucHV0IC0+IERPTTAgKHR5cGUgJ0NUUkwt YScgdGhyZWUgdGltZXMgdG8gc3dpdGNoIGlucHV0IHRvIFhlbikNCihYRU4pIA0KKFhFTikgDQoo WEVOKSBXQUtFIFVQISEhISEhISEhISEhDQooWEVOKSANCihYRU4pIA0KKFhFTikgSSdtIHNldHRp bmcgdGhlIG1hc2sgZm9yIHRoZSBjdXJyZW50IHZjcHUNCihYRU4pIA0KKFhFTikgDQooWEVOKSBJ bml0IFJhbmRvbSBOdW1iZXIgR2VuZXJhdG9yDQooWEVOKSBJbml6aWFsaXp6byBpbCByYW5kb20g Y29uIGxhIHBhcm9sYSBmZjIyN2U0OA0KKFhFTikgDQooWEVOKSBVcGRhdGluZyBSYW5kb20gR2Vu ZXJhdG9yDQooWEVOKSBGcmVlZCAxMTZrQiBpbml0IG1lbW9yeS4NCihYRU4pIFhlbiBCVUcgYXQg dGltZXIuYzoxODQNCihYRU4pIC0tLS1bIFhlbi0zLjQuMiAgeDg2XzMycCAgZGVidWc9biAgTm90 IHRhaW50ZWQgXS0tLS0NCihYRU4pIENQVTogICAgMA0KKFhFTikgRUlQOiAgICBlMDA4Ols8ZmYx MTk4YzU+XSByZW1vdmVfZW50cnkrMHgxNS8weDgwDQooWEVOKSBFRkxBR1M6IDAwMDEwMDA2ICAg Q09OVEVYVDogaHlwZXJ2aXNvcg0KKFhFTikgZWF4OiBmZjIwNDEwMCAgIGVieDogZmZiZmMyZDQg ICBlY3g6IDAwMDAwMDAwICAgZWR4OiAwMDAwMDAxYQ0KKFhFTikgZXNpOiAwMDAwMDI2MCAgIGVk aTogMDAwMDAwMTEgICBlYnA6IGZmMjA0MTAwICAgZXNwOiBmZjIyN2ViOA0KKFhFTikgY3IwOiA4 MDA1MDAzYiAgIGNyNDogMDAwMDA2ZjAgICBjcjM6IDAwMTAwMTIwICAgY3IyOiAwMDAwMDAwMA0K KFhFTikgZHM6IGUwMTAgICBlczogZTAxMCAgIGZzOiBlMDEwICAgZ3M6IGUwMTAgICBzczogZTAx MCAgIGNzOiBlMDA4DQooWEVOKSBYZW4gc3RhY2sgdHJhY2UgZnJvbSBlc3A9ZmYyMjdlYjg6DQoo WEVOKSAgICBmZjI3YzQxMCAwMDAwMDAxYSAwMDAwMDI2MCBmZjExOWU2OSBmZjIwNDEwMCBmZjIw NDEwMCAwMDAwMDAwMCBmZjIwNDEwMA0KKFhFTikgICAgZmYyMDQxMDAgMDAwMDAwMDAgMDAwMDAy OTIgNzJjMTVkZjIgMDAwMDAwMDAgZmZiZmMyYjAgZmZiZmEwMDAgZmYxMTYxMGYNCihYRU4pICAg IGZmYmZjMmQ0IDAwMDAwMjYwIDAwMDAwMDExIGZmMjA0MTAwIGZmMjA0MTAwIGZmMjA0MTAwIDcy YzA5YWEyIDAwMDAwMDAwDQooWEVOKSAgICBmZmJmYzJiMCA3MmMwODY2YiAwMDAwMDAwMCBmZjEx NmJlMyBmZmJmYzJiMCA3MzU5MWNlYiAwMDAwMDAwMCBmZjEzOGRiMg0KKFhFTikgICAgZmYyNGUy MTQgMDAwMDAwMDAgMDAwMDAwMDAgZmYyMDQwOTAgMDA5ODk2ODAgMDAwMDAwMDAgMDAwMDAwMDAg ZmYxZDZiNDANCihYRU4pICAgIGZmMjA0MDgwIDAwMDAwMDAxIDAwMDBlMDA4IDAwMDAwMjgyIGZm MWQ2YjQwIDAwMDAwMDBhIGZmMWNhMzc4IGZmYmZjMmIwDQooWEVOKSAgICAwMDk4OTY4MCAwMDAw MDAwMCBmZjIzOWZmOSAwMDAwMDAwMCBmZjIyN2ZiNCBmZjIwNDRiMCAwMDAwMDAwMCBmZjExN2Jm NQ0KKFhFTikgICAgMDAwMDAwMDAgZmYyMjdmYjQgZmYyMjdmYjQgZmYxMzY5YjMgZmZiZmEwMDAg ZmYwOGJmMzAgMDAwMDAwMDAgMDAwMDAwMDANCihYRU4pICAgIDAwMDAwMDAwIDAwMDAwMDAwIDAw MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwDQooWEVO KSAgICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw MCAwMDAwMDAwMCAwMDAwMDAwMA0KKFhFTikgICAgMDAwMDAwMDAgZmZiZmEwMDANCihYRU4pIFhl biBjYWxsIHRyYWNlOg0KKFhFTikgICAgWzxmZjExOThjNT5dIHJlbW92ZV9lbnRyeSsweDE1LzB4 ODANCihYRU4pICAgIFs8ZmYxMTllNjk+XSBzZXRfdGltZXIrMHgxMjkvMHgxOTANCihYRU4pICAg IFs8ZmYxMTYxMGY+XSB2Y3B1X3BlcmlvZGljX3RpbWVyX3dvcmsrMHg2Zi8weGIwDQooWEVOKSAg ICBbPGZmMTE2YmUzPl0gc2NoZWR1bGUrMHgxYTMvMHg0MTANCihYRU4pICAgIFs8ZmYxMzhkYjI+ XSBjb21tb25faW50ZXJydXB0KzB4NTIvMHg2MA0KKFhFTikgICAgWzxmZjExN2JmNT5dIGRvX3Nv ZnRpcnErMHgzNS8weDcwDQooWEVOKSAgICBbPGZmMTM2OWIzPl0gaWRsZV9sb29wKzB4NDMvMHg5 MA0KKFhFTikgICAgDQooWEVOKSANCihYRU4pICoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioNCihYRU4pIFBhbmljIG9uIENQVSAwOg0KKFhFTikgWGVuIEJVRyBhdCB0aW1l ci5jOjE4NA0KKFhFTikgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0K KFhFTikgDQooWEVOKSBSZWJvb3QgaW4gZml2ZSBzZWNvbmRzLi4uDQo= --001636c5b46744405a048084702a Content-Type: text/x-csrc; charset=US-ASCII; name="sched_random.c" Content-Disposition: attachment; filename="sched_random.c" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g659ggcs2 I2luY2x1ZGUgPHhlbi9saWIuaD4KI2luY2x1ZGUgPHhlbi9zY2hlZC5oPgojaW5jbHVkZSA8eGVu L3RpbWUuaD4KI2luY2x1ZGUgPHhlbi9zY2hlZC1pZi5oPgojaW5jbHVkZSA8eGVuL3NvZnRpcnEu aD4KI2luY2x1ZGUgPHhlbi9lcnJuby5oPgojaW5jbHVkZSA8eGVuL2xpc3QuaD4KI2luY2x1ZGUg PHhlbi90aW1lci5oPgojaW5jbHVkZSA8eGVuL3JhbmRtZDUuaD4KCmludCB0b3RfdmNwdT0wOwpN RDVfQ1RYIG1kQ29udGV4dDsKCiNkZWZpbmUgUkFORF9QQ1BVKF9jKSAgICAgKChzdHJ1Y3QgcmFu ZG9tX3BjcHUgKilwZXJfY3B1KHNjaGVkdWxlX2RhdGEsIF9jKS5zY2hlZF9wcml2KQojZGVmaW5l IFJBTkRfVkNQVShfdmNwdSkgICgoc3RydWN0IHJhbmRvbV92Y3B1ICopIChfdmNwdSktPnNjaGVk X3ByaXYpCiNkZWZpbmUgUlVOUShfY3B1KSAgICAgICAgKCYoUkFORF9QQ1BVKF9jcHUpLT5ydW5x KSkKCnN0cnVjdCByYW5kb21fcGNwdSB7CiAgICBzdHJ1Y3QgbGlzdF9oZWFkIHJ1bnE7Cn07Cgpz dHJ1Y3QgcmFuZG9tX3ZjcHV7CiAgICBzdHJ1Y3QgbGlzdF9oZWFkIGFjdGl2ZV92Y3B1X2VsZW07 IC8vYWxsCiAgICBzdHJ1Y3QgbGlzdF9oZWFkIHJ1bnFfZWxlbTsgLy9ydW5uYWJsZQogICAgc3Ry dWN0IHZjcHUgKnZjcHU7Cn07CgpzdGF0aWMgaW50IHJhbmRvbV9wY3B1X2luaXQoaW50IGNwdSk7 CnN0YXRpYyBpbmxpbmUgdm9pZCBfX3J1bnFfaW5zZXJ0KHVuc2lnbmVkIGludCBjcHUsIHN0cnVj dCByYW5kb21fdmNwdSAqc3ZjKTsKCnN0YXRpYyBpbnQgcmFuZG9tX3ZjcHVfaW5pdChzdHJ1Y3Qg dmNwdSAqdmMpewogICAgc3RydWN0IHJhbmRvbV92Y3B1ICpzdmM7CgogICAgc3ZjID0geG1hbGxv YyhzdHJ1Y3QgcmFuZG9tX3ZjcHUpOwogICAgaWYgKCBzdmMgPT0gTlVMTCApCiAgICAgICAgcmV0 dXJuIC0xOwogICAgbWVtc2V0KHN2YywgMCwgc2l6ZW9mKCpzdmMpKTsKICAKICAgIElOSVRfTElT VF9IRUFEKCZzdmMtPmFjdGl2ZV92Y3B1X2VsZW0pOwogICAgSU5JVF9MSVNUX0hFQUQoJnN2Yy0+ cnVucV9lbGVtKTsKCiAgICBzdmMtPnZjcHUgPSB2YzsKICAgIHZjLT5zY2hlZF9wcml2ID0gc3Zj OwoKICAvKiBBbGxvY2F0ZSBwZXItUENQVSBpbmZvICovCiAgICBpZiAoIHVubGlrZWx5KCFSQU5E X1BDUFUodmMtPnByb2Nlc3NvcikpICkKICAgIHsKICAgICAgICBpZiAoIHJhbmRvbV9wY3B1X2lu aXQodmMtPnByb2Nlc3NvcikgIT0gMCApCiAgICAgICAgICAgIHJldHVybiAtMTsKICAgIH0KCiAg ICAvL2NoZWNrIENTQ0hFRF9WQ1BVX0NIRUNLCgogICAgdG90X3ZjcHUrKzsgCiAgICBwcmludGso IlxuYWRkIFZDUFUgJWRcbiIsIHZjLT52Y3B1X2lkKTsKICAgIHJldHVybiAwOwp9CgpzdGF0aWMg aW50IHJhbmRvbV9wY3B1X2luaXQoaW50IGNwdSkKewogICAgc3RydWN0IHJhbmRvbV9wY3B1ICpz cGM7CiAgICAvKiBBbGxvY2F0ZSBwZXItUENQVSBpbmZvICovCiAgICBzcGMgPSB4bWFsbG9jKHN0 cnVjdCByYW5kb21fcGNwdSk7CiAgICBpZiAoIHNwYyA9PSBOVUxMICkKICAgICAgICByZXR1cm4g LTE7CiAgICBtZW1zZXQoc3BjLCAwLCBzaXplb2YoKnNwYykpOwogICAgSU5JVF9MSVNUX0hFQUQo JnNwYy0+cnVucSk7CiAgICBwZXJfY3B1KHNjaGVkdWxlX2RhdGEsIGNwdSkuc2NoZWRfcHJpdiA9 IHNwYzsKICAgIHJldHVybiAwOwp9CgoKc3RhdGljIHZvaWQgcmFuZG9tX3ZjcHVfZGVzdHJveShz dHJ1Y3QgdmNwdSAqdikKewogICAgcHJpbnRrKCJcblxuREVTVFJPWUlORyBWQ1BVICVkXG5cbiIs di0+dmNwdV9pZCk7CiAgICAvKgogICAgc3RydWN0IGNzY2hlZF92Y3B1ICogY29uc3Qgc3ZjID0g Q1NDSEVEX1ZDUFUodmMpOwogICAgc3RydWN0IGNzY2hlZF9kb20gKiBjb25zdCBzZG9tID0gc3Zj LT5zZG9tOwogICAgdW5zaWduZWQgbG9uZyBmbGFnczsKCiAgICBDU0NIRURfU1RBVF9DUkFOSyh2 Y3B1X2Rlc3Ryb3kpOwoKICAgIEJVR19PTiggc2RvbSA9PSBOVUxMICk7CiAgICBCVUdfT04oICFs aXN0X2VtcHR5KCZzdmMtPnJ1bnFfZWxlbSkgKTsKCiAgICBzcGluX2xvY2tfaXJxc2F2ZSgmY3Nj aGVkX3ByaXYubG9jaywgZmxhZ3MpOwoKICAgIGlmICggIWxpc3RfZW1wdHkoJnN2Yy0+YWN0aXZl X3ZjcHVfZWxlbSkgKQogICAgICAgIF9fY3NjaGVkX3ZjcHVfYWNjdF9zdG9wX2xvY2tlZChzdmMp OwoKICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNzY2hlZF9wcml2LmxvY2ssIGZsYWdzKTsK CiAgICB4ZnJlZShzdmMpOyovCn0KCgpzdHJ1Y3QgdGFza19zbGljZSByYW5kb21fc2NoZWR1bGUo c190aW1lX3Qgbm93KXsKICAgIGNvbnN0IHVuc2lnbmVkIGludCBjcHUgPSBzbXBfcHJvY2Vzc29y X2lkKCk7CiAgICBzdHJ1Y3QgbGlzdF9oZWFkICpydW5xID0gUlVOUShjcHUpOwogICAgc3RydWN0 IHJhbmRvbV92Y3B1ICogY29uc3Qgc2N1cnIgPSBSQU5EX1ZDUFUoY3VycmVudCk7CiAgICBzdHJ1 Y3QgcmFuZG9tX3ZjcHUgKnNuZXh0OwogICAgc3RydWN0IHRhc2tfc2xpY2UgcmV0OwogICAgaW50 IG5leHRfdmNwdT0wOwoKICAgIG5leHRfdmNwdSA9IChNRDVGaW5hbCAoJm1kQ29udGV4dCkpICAl IHRvdF92Y3B1OwoKICAgIC8qCiAgICAgKiBTZWxlY3QgbmV4dCBydW5uYWJsZSBsb2NhbCBWQ1BV IChpZSB0b3Agb2YgbG9jYWwgcnVucSkKICAgICAqLwogICAgaWYgKCB2Y3B1X3J1bm5hYmxlKGN1 cnJlbnQpICkKICAgICAgICBfX3J1bnFfaW5zZXJ0KGNwdSwgc2N1cnIpOwogIC8vICBlbHNlCiAg Ly8gICAgICBCVUdfT04oIGlzX2lkbGVfdmNwdShjdXJyZW50KSB8fCBsaXN0X2VtcHR5KHJ1bnEp ICk7CgoKICAgIHdoaWxlIChuZXh0X3ZjcHU9PTApewogICAgICAgIG5leHRfdmNwdS0tOwogICAg ICAgIHJ1bnE9cnVucS0+bmV4dDsKICAgIH0KICAgIHNuZXh0ID0gbGlzdF9lbnRyeShydW5xLT5u ZXh0LCBzdHJ1Y3QgcmFuZG9tX3ZjcHUsIHJ1bnFfZWxlbSk7CgogICAgcmV0LnRpbWUgPSBNSUxM SVNFQ1MoMTApOwogICAgcmV0LnRhc2sgPSBzbmV4dC0+dmNwdTsKCiAgICByZXR1cm4gcmV0Owp9 CgoKc3RhdGljIHZvaWQgX19yYW5kb21faW5pdCh2b2lkKXsKICAgIHVuc2lnbmVkIGNoYXIgZGln ZXN0WzE2XTsKICAgIGludCBpOwogICAgbG9uZyB1bnNpZ25lZCBpbnQgbWFzaz0gMHhGRjsKICAg IGxvbmcgdW5zaWduZWQgaW50IHN0cmluZ19ub3cgPSBOT1coKTsKICAgIE1ENUluaXQgKCZtZENv bnRleHQpOwogICAgcHJpbnRrKCJcblxuSW5pdCBSYW5kb20gTnVtYmVyIEdlbmVyYXRvclxuIik7 CiAgICBmb3IgKGk9MDtpPDg7aSsrKXsKICAgICAgICBkaWdlc3RbaV09KGNoYXIpICgoc3RyaW5n X25vdyAmIG1hc2spID4+IDgqaSk7CiAgICAgICAgbWFzayA8PD04OwogICAgfQogICAgcHJpbnRr KCJJbml6aWFsaXp6byBpbCByYW5kb20gY29uIGxhIHBhcm9sYSAleCIsICh1bnNpZ25lZCBpbnQp IGRpZ2VzdCk7CiAgICBNRDVVcGRhdGUgKCZtZENvbnRleHQsICh1bnNpZ25lZCBjaGFyKilkaWdl c3QsIHNpemVvZihzX3RpbWVfdCkpOwogICAgcHJpbnRrKCJcblxuVXBkYXRpbmcgUmFuZG9tIEdl bmVyYXRvclxuIik7Cgp9CgpzdGF0aWMgdm9pZCByYW5kb21fdmNwdV93YWtlKCBzdHJ1Y3QgdmNw dSAqdmMpewogICAgc3RydWN0IHJhbmRvbV92Y3B1ICogY29uc3Qgc3ZjID0gUkFORF9WQ1BVKHZj KTsKICAgIGNvbnN0IHVuc2lnbmVkIGludCBjcHUgPSB2Yy0+cHJvY2Vzc29yOwogICAgY3B1bWFz a190IG1hc2s7CgogICAgY3B1c19jbGVhcihtYXNrKTsKICAgIC8qIFB1dCB0aGUgVkNQVSBvbiB0 aGUgcnVucSBhbmQgdGlja2xlIENQVXMgKi8KICAgIF9fcnVucV9pbnNlcnQoY3B1LCBzdmMpOyAg Ly9pbnNlcmlzY2UgaW4gY29kYSBsYSB2Y3B1CiAgICAvLyAgICBfX3J1bnFfdGlja2xlKGNwdSwg c3ZjKTsgIC8vIHJhaXNlIHNvZnRpcnEgICAKCiAgICBwcmludGsoIlxuXG5XQUtFIFVQISEhISEh ISEhISEhXG5cbiIpOwogICAgaWYgKCB1bmxpa2VseSghbGlzdF9lbXB0eSgmc3ZjLT5ydW5xX2Vs ZW0pKSApCiAgICB7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIGlmICggIWlzX2lkbGVfdmNw dSh2YykgJiYgbGlrZWx5KHZjcHVfcnVubmFibGUodmMpKSApIAogICAgewogICAgICAgIGNwdV9z ZXQoY3B1LCBtYXNrKTsKICAgICAgICBwcmludGsoIlxuSSdtIHNldHRpbmcgdGhlIG1hc2sgZm9y IHRoZSBjdXJyZW50IHZjcHVcbiIpOwogICAgfQogICAgaWYgKCAhY3B1c19lbXB0eShtYXNrKSAp CiAgICAgICAgY3B1bWFza19yYWlzZV9zb2Z0aXJxKG1hc2ssIFNDSEVEVUxFX1NPRlRJUlEpOyAg ICAKCgogICAgLy9jcHVfcmFpc2Vfc29mdGlycShjcHUsU0NIRURVTEVfU09GVElSUSk7CiAgICBf X3JhbmRvbV9pbml0KCk7CiAgICByZXR1cm47Cn0KCgpzdGF0aWMgaW5saW5lIHZvaWQgX19ydW5x X2luc2VydCh1bnNpZ25lZCBpbnQgY3B1LCBzdHJ1Y3QgcmFuZG9tX3ZjcHUgKnN2YykKewogICAg Y29uc3Qgc3RydWN0IGxpc3RfaGVhZCAqIGNvbnN0IHJ1bnEgPSBSVU5RKGNwdSk7CiAgICBzdHJ1 Y3QgbGlzdF9oZWFkICppdGVyOwoKICAgIGxpc3RfZm9yX2VhY2goIGl0ZXIsIHJ1bnEgKQogICAg ewkKICAgICAgICBsaXN0X2FkZF90YWlsKCZzdmMtPnJ1bnFfZWxlbSwgaXRlcik7CiAgICB9CiAg ICByZXR1cm47IAp9CgpzdHJ1Y3Qgc2NoZWR1bGVyIHNjaGVkX3JhbmRfZGVmID0gewogICAgLm5h bWUgICAgICAgICAgID0gIm15IFJhbmRvbSBTY2hlZHVsZXIiLAogICAgLm9wdF9uYW1lICAgICAg ID0gInJhbmRvbSIsCiAgICAuc2NoZWRfaWQgICAgICAgPSAxNywKICAgIC5pbml0X3ZjcHUgICAg ICA9IHJhbmRvbV92Y3B1X2luaXQsCiAgICAud2FrZSAgICAgICAgICAgPSByYW5kb21fdmNwdV93 YWtlLAogICAgLmRlc3Ryb3lfdmNwdSAgID0gcmFuZG9tX3ZjcHVfZGVzdHJveSwKICAgIC5kb19z Y2hlZHVsZSAgICA9IHJhbmRvbV9zY2hlZHVsZSwKCn07CgoKCg== --001636c5b46744405a048084702a Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --001636c5b46744405a048084702a--