Kludge Tracker: Gnuradio - v3.4.0-101-g7e2b45b
Parent Directory
(gnuradio/gcell/lib)
Kludge Summary of gnuradio/gcell/lib/runtime
| Total Kludges |
15 |
| Total Subdirs |
1 |
All Directories within gnuradio/gcell/lib/runtime
All Files within gnuradio/gcell/lib/runtime
Kludge Snippets in gnuradio/gcell/lib/runtime
gnuradio/gcell/lib/runtime/gc_jd_stack.c
| Category |
FIXME |
| Committer |
eb |
| Commit ID |
06e7a0313a09ee812061d855a47206ed303eac7f |
23 #include <gcell/memory_barrier.h>
24
25 /*
26 * begin extract from ppu_intrinics.h
27 * FIXME handle this a different way
28 */
29
30 #if !defined(__PPU__) && !defined(__ppc__) && !defined(__ppc64__)
31 && !defined(__GNUC__)
gnuradio/gcell/lib/runtime/gc_job_manager_impl.cc — 1
| Category |
FIXME |
| Committer |
eb |
| Commit ID |
28361a1bfc8f155a7b1367a234c9256b7b69da38 |
63
64 static const unsigned int DEFAULT_MAX_JOBS = 128;
65 static const unsigned int DEFAULT_MAX_CLIENT_THREADS = 64;
66
67 // FIXME this really depends on the SPU code...
68 static const unsigned int MAX_TOTAL_INDIRECT_LENGTH = 16 * 1024;
69
70
71 static bool s_key_initialized = false;
gnuradio/gcell/lib/runtime/gc_job_manager_impl.cc — 2
| Category |
FIXME |
| Committer |
eb |
| Commit ID |
28361a1bfc8f155a7b1367a234c9256b7b69da38 |
179 // If we're gang scheduling we'll never get scheduled if we
180 // ask for more than are available.
181 throw std::out_of_range("gang_scheduling: not enough spes available");
182 }
183 else { // FIXME clamp to usable. problem on PS3 when overcommited
184 fprintf(stderr, "gc_job_manager: clamping nspes to %d\n", nusable_spes);
185 d_options.nspes = nusable_spes;
186 }
187 }
gnuradio/gcell/lib/runtime/gc_job_manager_impl.cc — 3
| Category |
FIXME |
| Committer |
eb |
| Commit ID |
28361a1bfc8f155a7b1367a234c9256b7b69da38 |
246 | SPE_CFG_SIGNOTIFY1_OR
247 | SPE_CFG_SIGNOTIFY2_OR);
248
249 for (unsigned int i = 0; i < d_options.nspes; i++){
250 // FIXME affinity stuff goes here
251 d_worker[i].spe_ctx = spe_context_create(spe_flags, d_gang.get());;
252 if (d_worker[i].spe_ctx == 0){
253 perror("spe_context_create");
254 throw std::runtime_error("spe_context_create");
gnuradio/gcell/lib/runtime/gc_job_manager_impl.cc — 4
| Category |
FIXME |
| Committer |
eb |
| Commit ID |
28361a1bfc8f155a7b1367a234c9256b7b69da38 |
644
645 if (mode == GC_WAIT_ALL && ndone == njobs)
646 break;
647
648 // FIXME what happens when somebody calls shutdown?
649
650 cti->d_cond.wait(l); // wait for event handler to wake us up
651 }
652
gnuradio/gcell/lib/runtime/gc_job_manager_impl.cc — 5
| Category |
FIXME |
| Committer |
eb |
| Commit ID |
28361a1bfc8f155a7b1367a234c9256b7b69da38 |
736 pthread_attr_t attr;
737 pthread_attr_init(&attr);
738 pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
739
740 // FIXME save sigprocmask
741 // FIXME set sigprocmask
742
743 int r = pthread_create(thread, &attr, start_routine, arg);
744
gnuradio/gcell/lib/runtime/gc_job_manager_impl.cc — 6
| Category |
FIXME |
| Committer |
eb |
| Commit ID |
28361a1bfc8f155a7b1367a234c9256b7b69da38 |
737 pthread_attr_init(&attr);
738 pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
739
740 // FIXME save sigprocmask
741 // FIXME set sigprocmask
742
743 int r = pthread_create(thread, &attr, start_routine, arg);
744
745 // FIXME restore sigprocmask
gnuradio/gcell/lib/runtime/gc_job_manager_impl.cc — 7
| Category |
FIXME |
| Committer |
eb |
| Commit ID |
28361a1bfc8f155a7b1367a234c9256b7b69da38 |
741 // FIXME set sigprocmask
742
743 int r = pthread_create(thread, &attr, start_routine, arg);
744
745 // FIXME restore sigprocmask
746
747 if (r != 0){
748 pthread_create_failure_msg(r, msg);
749 return false;
gnuradio/gcell/lib/runtime/gc_job_manager_impl.cc — 8
| Category |
FIXME |
| Committer |
eb |
| Commit ID |
28361a1bfc8f155a7b1367a234c9256b7b69da38 |
819 }
820
821 if (!ok){
822 //
823 // FIXME Clean up the mess. Need to terminate event handler and all workers.
824 //
825 // this should cause the workers to exit, unless they're seriously broken
826 send_all_spes(MK_MBOX_MSG(OP_EXIT, 0));
827
gnuradio/gcell/lib/runtime/gc_job_manager_impl.cc — 9
| Category |
FIXME |
| Committer |
eb |
| Commit ID |
28361a1bfc8f155a7b1367a234c9256b7b69da38 |
953 if (cti != last_cti){ // new client?
954
955 // yes. signal old client, unlock old, lock new
956
957 // FIXME we could distinguish between CT_WAIT_ALL & CT_WAIT_ANY
958
959 if (last_cti->d_state == CT_WAIT_ANY || last_cti->d_state == CT_WAIT_ALL)
960 last_cti->d_cond.notify_one(); // wake client thread up
961
gnuradio/gcell/lib/runtime/gc_job_manager_impl.cc — 10
| Category |
FIXME |
| Committer |
eb |
| Commit ID |
28361a1bfc8f155a7b1367a234c9256b7b69da38 |
1135 int nevents = spe_event_wait(d_spe_event_handler.ptr,
1136 events, MAX_EVENTS, TIMEOUT);
1137 if (nevents < 0){
1138 perror("spe_wait_event");
1139 // FIXME bail?
1140 }
1141 for (int i = 0; i < nevents; i++){
1142 handle_event(&events[i]);
1143 }
gnuradio/gcell/lib/runtime/qa_jd_queue.cc — 1
| Category |
FIXME |
| Committer |
eb |
| Commit ID |
28361a1bfc8f155a7b1367a234c9256b7b69da38 |
64
65 CPPUNIT_ASSERT(gc_jd_queue_dequeue(&queue) == 0);
66 }
67
68 // FIXME multithreaded (running on PPE)
69 void
70 qa_jd_queue::t2()
71 {
72 }
gnuradio/gcell/lib/runtime/qa_jd_queue.cc — 2
| Category |
FIXME |
| Committer |
eb |
| Commit ID |
28361a1bfc8f155a7b1367a234c9256b7b69da38 |
70 qa_jd_queue::t2()
71 {
72 }
73
74 // FIXME multithreaded (running on PPE & SPE)
75 void
76 qa_jd_queue::t3()
77 {
78 }
gnuradio/gcell/lib/runtime/qa_jd_stack.cc
| Category |
FIXME |
| Committer |
eb |
| Commit ID |
28361a1bfc8f155a7b1367a234c9256b7b69da38 |
59
60 CPPUNIT_ASSERT(gc_jd_stack_pop(&stack) == 0);
61 }
62
63 // FIXME multithreaded (running on PPE)
64 void
65 qa_jd_stack::t2()
66 {
67 }
gnuradio/gcell/lib/runtime/spu/gc_main.c
| Category |
FIXME |
| Committer |
eb |
| Commit ID |
28361a1bfc8f155a7b1367a234c9256b7b69da38 |
375 && dma_len <= (eaa->arg[i].get_size + offset + CACHE_LINE_SIZE - 1));
376 }
377
378 // add to dma get list
379 // FIXME (someday) the dma list is where the JS_BAD_EAH limitation comes from
380
381 while (dma_len != 0){
382 int n = MIN(dma_len, MFC_MAX_DMA_SIZE);
383 dma_get_list[gli].size = n;