Lines Matching refs:thr
588 struct task_struct *thr; /* thread */ member
611 d->thr = NULL; in crc32_threadfn()
630 struct task_struct *thr; /* thread */ member
654 d->thr = NULL; in lzo_compress_threadfn()
689 unsigned thr, run_threads, nr_threads; in save_image_lzo() local
727 for (thr = 0; thr < nr_threads; thr++) { in save_image_lzo()
728 init_waitqueue_head(&data[thr].go); in save_image_lzo()
729 init_waitqueue_head(&data[thr].done); in save_image_lzo()
731 data[thr].thr = kthread_run(lzo_compress_threadfn, in save_image_lzo()
732 &data[thr], in save_image_lzo()
733 "image_compress/%u", thr); in save_image_lzo()
734 if (IS_ERR(data[thr].thr)) { in save_image_lzo()
735 data[thr].thr = NULL; in save_image_lzo()
750 for (thr = 0; thr < nr_threads; thr++) { in save_image_lzo()
751 crc->unc[thr] = data[thr].unc; in save_image_lzo()
752 crc->unc_len[thr] = &data[thr].unc_len; in save_image_lzo()
755 crc->thr = kthread_run(crc32_threadfn, crc, "image_crc32"); in save_image_lzo()
756 if (IS_ERR(crc->thr)) { in save_image_lzo()
757 crc->thr = NULL; in save_image_lzo()
778 for (thr = 0; thr < nr_threads; thr++) { in save_image_lzo()
787 memcpy(data[thr].unc + off, in save_image_lzo()
798 data[thr].unc_len = off; in save_image_lzo()
800 atomic_set(&data[thr].ready, 1); in save_image_lzo()
801 wake_up(&data[thr].go); in save_image_lzo()
804 if (!thr) in save_image_lzo()
807 crc->run_threads = thr; in save_image_lzo()
811 for (run_threads = thr, thr = 0; thr < run_threads; thr++) { in save_image_lzo()
812 wait_event(data[thr].done, in save_image_lzo()
813 atomic_read(&data[thr].stop)); in save_image_lzo()
814 atomic_set(&data[thr].stop, 0); in save_image_lzo()
816 ret = data[thr].ret; in save_image_lzo()
823 if (unlikely(!data[thr].cmp_len || in save_image_lzo()
824 data[thr].cmp_len > in save_image_lzo()
825 lzo1x_worst_compress(data[thr].unc_len))) { in save_image_lzo()
831 *(size_t *)data[thr].cmp = data[thr].cmp_len; in save_image_lzo()
842 off < LZO_HEADER + data[thr].cmp_len; in save_image_lzo()
844 memcpy(page, data[thr].cmp + off, PAGE_SIZE); in save_image_lzo()
867 if (crc->thr) in save_image_lzo()
868 kthread_stop(crc->thr); in save_image_lzo()
872 for (thr = 0; thr < nr_threads; thr++) in save_image_lzo()
873 if (data[thr].thr) in save_image_lzo()
874 kthread_stop(data[thr].thr); in save_image_lzo()
1114 struct task_struct *thr; /* thread */ member
1137 d->thr = NULL; in lzo_decompress_threadfn()
1176 unsigned i, thr, run_threads, nr_threads; in load_image_lzo() local
1219 for (thr = 0; thr < nr_threads; thr++) { in load_image_lzo()
1220 init_waitqueue_head(&data[thr].go); in load_image_lzo()
1221 init_waitqueue_head(&data[thr].done); in load_image_lzo()
1223 data[thr].thr = kthread_run(lzo_decompress_threadfn, in load_image_lzo()
1224 &data[thr], in load_image_lzo()
1225 "image_decompress/%u", thr); in load_image_lzo()
1226 if (IS_ERR(data[thr].thr)) { in load_image_lzo()
1227 data[thr].thr = NULL; in load_image_lzo()
1242 for (thr = 0; thr < nr_threads; thr++) { in load_image_lzo()
1243 crc->unc[thr] = data[thr].unc; in load_image_lzo()
1244 crc->unc_len[thr] = &data[thr].unc_len; in load_image_lzo()
1247 crc->thr = kthread_run(crc32_threadfn, crc, "image_crc32"); in load_image_lzo()
1248 if (IS_ERR(crc->thr)) { in load_image_lzo()
1249 crc->thr = NULL; in load_image_lzo()
1342 for (thr = 0; have && thr < nr_threads; thr++) { in load_image_lzo()
1343 data[thr].cmp_len = *(size_t *)page[pg]; in load_image_lzo()
1344 if (unlikely(!data[thr].cmp_len || in load_image_lzo()
1345 data[thr].cmp_len > in load_image_lzo()
1352 need = DIV_ROUND_UP(data[thr].cmp_len + LZO_HEADER, in load_image_lzo()
1363 off < LZO_HEADER + data[thr].cmp_len; in load_image_lzo()
1365 memcpy(data[thr].cmp + off, in load_image_lzo()
1373 atomic_set(&data[thr].ready, 1); in load_image_lzo()
1374 wake_up(&data[thr].go); in load_image_lzo()
1390 for (run_threads = thr, thr = 0; thr < run_threads; thr++) { in load_image_lzo()
1391 wait_event(data[thr].done, in load_image_lzo()
1392 atomic_read(&data[thr].stop)); in load_image_lzo()
1393 atomic_set(&data[thr].stop, 0); in load_image_lzo()
1395 ret = data[thr].ret; in load_image_lzo()
1402 if (unlikely(!data[thr].unc_len || in load_image_lzo()
1403 data[thr].unc_len > LZO_UNC_SIZE || in load_image_lzo()
1404 data[thr].unc_len & (PAGE_SIZE - 1))) { in load_image_lzo()
1411 off < data[thr].unc_len; off += PAGE_SIZE) { in load_image_lzo()
1413 data[thr].unc + off, PAGE_SIZE); in load_image_lzo()
1422 crc->run_threads = thr + 1; in load_image_lzo()
1430 crc->run_threads = thr; in load_image_lzo()
1461 if (crc->thr) in load_image_lzo()
1462 kthread_stop(crc->thr); in load_image_lzo()
1466 for (thr = 0; thr < nr_threads; thr++) in load_image_lzo()
1467 if (data[thr].thr) in load_image_lzo()
1468 kthread_stop(data[thr].thr); in load_image_lzo()