Date: Thu, 27 Mar 2014 07:32:08 -0700 (PDT) From: Soroosh R <soroosh100@ymail.com> To: "freebsd-questions@freebsd.org" <freebsd-questions@freebsd.org> Subject: thread scheduling Message-ID: <1395930728.31281.YahooMailNeo@web125404.mail.ne1.yahoo.com>
next in thread | raw e-mail | index | archive | help
---560092261-1364899370-1395930728=:31281 Content-Type: text/plain; charset=us-ascii hello, I'm new to freeBSD. I wanted to change the strategy of thread scheduling in freeBSD according to an extra variable added to sched_ule.c but now I don't know which file should be modified to choose thread with highest priority according to new strategy. both "tdq_runq_add" function in sys/kern/sched_ule.c and "runq_choose" function in sys/kern/kern_switch.c are responsible for this job according to their documentation but what is the difference between them and which one should be modified? --- the attached .c file contains both functions. ---560092261-1364899370-1395930728=:31281 Content-Type: application/octet-stream; name="compare.c" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="compare.c" IDM5NyAjZGVmaW5lIFRTX1JRX1BQUSAgICAgICAoKChQUklfTUFYX0JBVENI IC0gUFJJX01JTl9CQVRDSCkgKyAxKSAvIFJRX05RUykNCiAgMzk4IC8qDQog IDM5OSAgKiBBZGQgYSB0aHJlYWQgdG8gdGhlIGFjdHVhbCBydW4tcXVldWUu ICBLZWVwcyB0cmFuc2ZlcmFibGUgY291bnRzIHVwIHRvDQogIDQwMCAgKiBk YXRlIHdpdGggd2hhdCBpcyBhY3R1YWxseSBvbiB0aGUgcnVuLXF1ZXVlLiAg U2VsZWN0cyB0aGUgY29ycmVjdA0KICA0MDEgICogcXVldWUgcG9zaXRpb24g Zm9yIHRpbWVzaGFyZSB0aHJlYWRzLg0KICA0MDIgICovDQogIDQwMyBzdGF0 aWMgX19pbmxpbmUgdm9pZA0KICA0MDQgdGRxX3J1bnFfYWRkKHN0cnVjdCB0 ZHEgKnRkcSwgc3RydWN0IHRkX3NjaGVkICp0cywgaW50IGZsYWdzKQ0KICA0 MDUgew0KICA0MDYgICAgICAgICBURFFfTE9DS19BU1NFUlQodGRxLCBNQV9P V05FRCk7DQogIDQwNyAgICAgICAgIFRIUkVBRF9MT0NLX0FTU0VSVCh0cy0+ dHNfdGhyZWFkLCBNQV9PV05FRCk7DQogIDQwOCAjaWZkZWYgU01QDQogIDQw OSAgICAgICAgIGlmIChUSFJFQURfQ0FOX01JR1JBVEUodHMtPnRzX3RocmVh ZCkpIHsNCiAgNDEwICAgICAgICAgICAgICAgICB0ZHEtPnRkcV90cmFuc2Zl cmFibGUrKzsNCiAgNDExICAgICAgICAgICAgICAgICB0ZHEtPnRkcV9ncm91 cC0+dGRnX3RyYW5zZmVyYWJsZSsrOw0KICA0MTIgICAgICAgICAgICAgICAg IHRzLT50c19mbGFncyB8PSBUU0ZfWEZFUkFCTEU7DQogIDQxMyAgICAgICAg IH0NCiAgNDE0ICNlbmRpZg0KICA0MTUgICAgICAgICBpZiAodHMtPnRzX3J1 bnEgPT0gJnRkcS0+dGRxX3RpbWVzaGFyZSkgew0KICA0MTYgICAgICAgICAg ICAgICAgIHVfY2hhciBwcmk7DQogIDQxNyANCiAgNDE4ICAgICAgICAgICAg ICAgICBwcmkgPSB0cy0+dHNfdGhyZWFkLT50ZF9wcmlvcml0eTsNCiAgNDE5 ICAgICAgICAgICAgICAgICBLQVNTRVJUKHByaSA8PSBQUklfTUFYX0JBVENI ICYmIHByaSA+PSBQUklfTUlOX0JBVENILA0KICA0MjAgICAgICAgICAgICAg ICAgICAgICAgICAgKCJJbnZhbGlkIHByaW9yaXR5ICVkIG9uIHRpbWVzaGFy ZSBydW5xIiwgcHJpKSk7DQogIDQyMSAgICAgICAgICAgICAgICAgLyoNCiAg NDIyICAgICAgICAgICAgICAgICAgKiBUaGlzIHF1ZXVlIGNvbnRhaW5zIG9u bHkgcHJpb3JpdGllcyBiZXR3ZWVuIE1JTiBhbmQgTUFYDQogIDQyMyAgICAg ICAgICAgICAgICAgICogcmVhbHRpbWUuICBVc2UgdGhlIHdob2xlIHF1ZXVl IHRvIHJlcHJlc2VudCB0aGVzZSB2YWx1ZXMuDQogIDQyNCAgICAgICAgICAg ICAgICAgICovDQogIDQyNSAgICAgICAgICAgICAgICAgaWYgKChmbGFncyAm IChTUlFfQk9SUk9XSU5HfFNSUV9QUkVFTVBURUQpKSA9PSAwKSB7DQogIDQy NiAgICAgICAgICAgICAgICAgICAgICAgICBwcmkgPSAocHJpIC0gUFJJX01J Tl9CQVRDSCkgLyBUU19SUV9QUFE7DQogIDQyNyAgICAgICAgICAgICAgICAg ICAgICAgICBwcmkgPSAocHJpICsgdGRxLT50ZHFfaWR4KSAlIFJRX05RUzsN CiAgNDI4ICAgICAgICAgICAgICAgICAgICAgICAgIC8qDQogIDQyOSAgICAg ICAgICAgICAgICAgICAgICAgICAgKiBUaGlzIGVmZmVjdGl2ZWx5IHNob3J0 ZW5zIHRoZSBxdWV1ZSBieSBvbmUgc28gd2UNCiAgNDMwICAgICAgICAgICAg ICAgICAgICAgICAgICAqIGNhbiBoYXZlIGEgb25lIHNsb3QgZGlmZmVyZW5j ZSBiZXR3ZWVuIGlkeCBhbmQNCiAgNDMxICAgICAgICAgICAgICAgICAgICAg ICAgICAqIHJpZHggd2hpbGUgd2Ugd2FpdCBmb3IgdGhyZWFkcyB0byBkcmFp bi4NCiAgNDMyICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICA0MzMg ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRkcS0+dGRxX3JpZHggIT0g dGRxLT50ZHFfaWR4ICYmDQogIDQzNCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcHJpID09IHRkcS0+dGRxX3JpZHgpDQogIDQzNSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHByaSA9ICh1bnNpZ25lZCBjaGFyKShw cmkgLSAxKSAlIFJRX05RUzsNCiAgNDM2ICAgICAgICAgICAgICAgICB9IGVs c2UNCiAgNDM3ICAgICAgICAgICAgICAgICAgICAgICAgIHByaSA9IHRkcS0+ dGRxX3JpZHg7DQogIDQzOCAgICAgICAgICAgICAgICAgcnVucV9hZGRfcHJp KHRzLT50c19ydW5xLCB0cywgcHJpLCBmbGFncyk7DQogIDQzOSAgICAgICAg IH0gZWxzZQ0KICA0NDAgICAgICAgICAgICAgICAgIHJ1bnFfYWRkKHRzLT50 c19ydW5xLCB0cywgZmxhZ3MpOw0KICA0NDEgfQ0KICANCiAgLyoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAgICA0MzggLyoN CiAgNDM5ICAqIEZpbmQgdGhlIGhpZ2hlc3QgcHJpb3JpdHkgcHJvY2VzcyBv biB0aGUgcnVuIHF1ZXVlLg0KICA0NDAgICovDQogIDQ0MSBzdHJ1Y3QgdGhy ZWFkICoNCiAgNDQyIHJ1bnFfY2hvb3NlKHN0cnVjdCBydW5xICpycSkNCiAg NDQzIHsNCiAgNDQ0ICAgICAgICAgc3RydWN0IHJxaGVhZCAqcnFoOw0KICA0 NDUgICAgICAgICBzdHJ1Y3QgdGhyZWFkICp0ZDsNCiAgNDQ2ICAgICAgICAg aW50IHByaTsNCiAgNDQ3IA0KICA0NDggICAgICAgICB3aGlsZSAoKHByaSA9 IHJ1bnFfZmluZGJpdChycSkpICE9IC0xKSB7DQogIDQ0OSAgICAgICAgICAg ICAgICAgcnFoID0gJnJxLT5ycV9xdWV1ZXNbcHJpXTsNCiAgNDUwICAgICAg ICAgICAgICAgICB0ZCA9IFRBSUxRX0ZJUlNUKHJxaCk7DQogIDQ1MSAgICAg ICAgICAgICAgICAgS0FTU0VSVCh0ZCAhPSBOVUxMLCAoInJ1bnFfY2hvb3Nl OiBubyB0aHJlYWQgb24gYnVzeSBxdWV1ZSIpKTsNCiAgNDUyICAgICAgICAg ICAgICAgICBDVFIzKEtUUl9SVU5RLA0KICA0NTMgICAgICAgICAgICAgICAg ICAgICAicnVucV9jaG9vc2U6IHByaT0lZCB0aHJlYWQ9JXAgcnFoPSVwIiwg cHJpLCB0ZCwgcnFoKTsNCiAgNDU0ICAgICAgICAgICAgICAgICByZXR1cm4g KHRkKTsNCiAgNDU1ICAgICAgICAgfQ0KICA0NTYgICAgICAgICBDVFIxKEtU Ul9SVU5RLCAicnVucV9jaG9vc2U6IGlkbGV0aHJlYWQgcHJpPSVkIiwgcHJp KTsNCiAgNDU3IA0KICA0NTggICAgICAgICByZXR1cm4gKE5VTEwpOw0KICA0 NTkgfQ== ---560092261-1364899370-1395930728=:31281--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1395930728.31281.YahooMailNeo>