시그널을 통하여 주기 태스트를 하는데 주기가 깨집니다. 고수님들 많은 조언 부탁 드립니다.

thewarparty의 이미지

사용자 태스크에서 디바이스 드라이버 모듈로 시그널을 보내게 되고 디바이스 드라이버 모듈에서 시그널을 받게되면 다시 사용자 태스크로 시그널을 보내 사용자 태스크의 시그널 핸들러에서 주기를 찍어 주기 태스트를 하고 있습니다. 하지만 1ms로 동작하도록 주기를 설정해놨는데 1.5... ~ 1.7...으로 찍히며 주기가 깨집니다. 고수님들 많은 조언 부탁드립니다.

디바이스 드라이버 모듈에서 ioctl을 통하여 사용자 태스크로 시그널을 보내고,
사용자 태스크 structure의 접근하여 우선순위를 변경 시켰습니다. 그리고 시그널을 받게되면
다시 사용자 태스크로 시그널을 보내게 했습니다. 사용자 태스크에서 다시 시그널을 받게되면 시그널 핸들러에서 주기를 찍도록 하여 주기 태스트를 하였습니다. 아래는 소스입니다.

------------- 디바이스 드라이버 모듈 -------------

int ioctltest_ioctl()
{
switch(cmd) {
case IOCTLTEST_WRITE :
pid = find_get_pid(user_pid);
user_struct = get_pid_task(pid, PIDTYPE_PID);
user_struct->rt_priority = 0;
user_struct->policy = 1; //1 : fifo 2 : RR
user_struct->prio = 0;
user_struct->normal_prio = 0;
user_struct->static_prio = 0;
}
}
static int handler_pre()
{
force_sig_info(SIGUSR1, (struct siginfo_t *)1, user_struct);
}
------------------사용자 태스크------------------
void test_handler()
{
//주기를 찍습니다.
}

int main()
{
struct sigaction sa;
sa.sa_handler = test_handler;
sigaction(SIGUSR1, &sa, NULL);
}

고수님들 많은 조언 부탁드립니다.
그리고 염치가 없지만 하나 더 물어보겠습니다.
SIGRTMIN을 사용하고 싶은데 저 시그널을 어떻게 사용해야 할지 감이 안잡힙니다ㅠ.ㅠ
저의 글을 봐주셔서 감사합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.