jnielsendotnet / isboot

FreeBSD kernel module to support booting from iSCSI via IBFT
4 stars 7 forks source link

Offload transmission work to a dedicated thread #7

Open khng300 opened 3 years ago

khng300 commented 3 years ago

Do not do sosend() in CAM's sim_action callback, as sim_action is called inside THREAD_NO_SLEEPING context. The code before this change panics in -CURRENT build.

jnielsendotnet commented 3 years ago

Thank you for this! I'm not a savvy enough developer to do an appropriate review of this code. Has anyone else looked at it on your end? What testing has been done?

khng300 commented 3 years ago

Thank you for this! I'm not a savvy enough developer to do an appropriate review of this code. Has anyone else looked at it on your end? What testing has been done?

So far I did not hand it over to other src-committers to have a look. I tested it on -CURRENT AMD64 and it does not trigger the ASSERT in sleepq_add anymore.

jnielsendotnet commented 3 weeks ago

@khng300 are you still interested in this PR? If you can address the concerns raised by @amotin I will work on getting it merged.

khng300 commented 2 weeks ago

@khng300 are you still interested in this PR? If you can address the concerns raised by @amotin I will work on getting it merged.

I will try to address that later this week.