public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* max workqueue name length
@ 2005-08-09 13:24 Frederic TEMPORELLI
  2005-08-10  5:45 ` kernel workqueue -max " Frederic TEMPORELLI
  0 siblings, 1 reply; 2+ messages in thread
From: Frederic TEMPORELLI @ 2005-08-09 13:24 UTC (permalink / raw)
  To: linux-kernel

Hello,


When creating a workqueue, workqueue name is limited to 10 chars
(kernel/workqueue.c , function is __create_workqueue, test is done in a BUG_ON).

Why has this length be limited to 10 chars ?
Can I safely increase this max length (13 chars should be enough...) ?



Some comments about these questions:

In SCSI layer, HBA kernel ID is incremented after each modprobe/rmmod.

Then, when a scsi driver is managing a working queue and HBA kernel ID is 
greater than 99 (let's assume that you have modprobe/rmmod the scsi driver to 
get this ID to 99, or you may have play with 'scsi_debug' module), an oops is 
generated when loading again the driver (and the driver is frozen).

This is because working queue name format is "scsi_wq_%d" (drivers/scsi/hosts.c 
, function scsi_add_host, %d is the HBA ID), and so working queue name length is 
greater than 10 chars when HBA kernel ID is > 99...


Best regards


-- 
Frederic TEMPORELLI

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: kernel workqueue -max name length
  2005-08-09 13:24 max workqueue name length Frederic TEMPORELLI
@ 2005-08-10  5:45 ` Frederic TEMPORELLI
  0 siblings, 0 replies; 2+ messages in thread
From: Frederic TEMPORELLI @ 2005-08-10  5:45 UTC (permalink / raw)
  To: linux-kernel, linux-scsi; +Cc: Frederic TEMPORELLI

Hi,


any explanation about the 10 chars limit for kernel workqueue name ?


another question: why is the name length test managed by BUG_ON ?
returning a NULL workqueue is done in the next test (failed kmalloc for wq)...

Anyway, this can explain some issues when loading some SCSI drivers modules.


hope that somebody knows...


Frederic TEMPORELLI wrote:
> Hello,
> 
> 
> When creating a workqueue, workqueue name is limited to 10 chars
> (kernel/workqueue.c , function is __create_workqueue, test is done in a 
> BUG_ON).
> 
> Why has this length be limited to 10 chars ?
> Can I safely increase this max length (13 chars should be enough...) ?
> 
> 
> 
> Some comments about these questions:
> 
> In SCSI layer, HBA kernel ID is incremented after each modprobe/rmmod.
> 
> Then, when a scsi driver is managing a working queue and HBA kernel ID 
> is greater than 99 (let's assume that you have modprobe/rmmod the scsi 
> driver to get this ID to 99, or you may have play with 'scsi_debug' 
> module), an oops is generated when loading again the driver (and the 
> driver is frozen).
> 
> This is because working queue name format is "scsi_wq_%d" 
> (drivers/scsi/hosts.c , function scsi_add_host, %d is the HBA ID), and 
> so working queue name length is greater than 10 chars when HBA kernel ID 
> is > 99...
> 
> 
> Best regards
> 
> 


-- 
Frederic TEMPORELLI


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2005-08-10  5:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-08-09 13:24 max workqueue name length Frederic TEMPORELLI
2005-08-10  5:45 ` kernel workqueue -max " Frederic TEMPORELLI

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox