LINUX.ORG.RU

Сообщения ZDE

 

Записать данные в userspace из потока ядра

Есть юзерский процесс, он читает из файла устройства. Есть поток ядра которй обслуживает некий драйвер. Как сделать чтобы ядерный поток мог записывать в буфер юзерского процесса напримую, без записи в промежуточный буфер?
Если брать напримую указатель из read, то запись в буфер юзерского процесса падает с ошибкой обращения по неверному адрессу, что логично.

ZDE
()

Python потоки и чтение с очень медленного диска

В питоне читаю с очень медленного диска (он несколько неисправен и по
этому скорость чтения с него где-то 10-20 кбайт/с)

Для чтения создаю отдельный тред
Пример кода:
buf = ""

def thread_run( ):
try:
fd = open( dev, "r" )
buff = fd.read(16)
fd.close()
finally:
return


thread1 = threading.Thread( target = thread_run )
thread1.setDaemon( 1 )
print "Thread start"
thread1.start()
print "Thread join"
thread1.join( 1.0 )
print "After join"

Так вот, проблемма в том, что примерно один из 10 циклов чтения зависает:

на консоль сыпется:
Thread start
Thread join
After join
...
Thread start
Thread join

И на этом виснет, при этом поток создаётся и находится в Dl+ состоянии (судя по topу)

Может найдется добрый человек, знающий как победить эту напасть
ПО: ядро 2.6.22.5 Python 2.4

>>>

ZDE
()

Курсы по Linux в Питере

Господа, подскажите, есть ли какие-нибудь курсы по изучению Linux в Питере

ZDE
()

RSS подписка на новые темы