Messages in this thread | | | Subject | Re: [PATCH 17/20] [SCSI] mpt3sas: Use alloc_ordered_workqueue() API instead of create_singlethread_workqueue() API | From | James Bottomley <> | Date | Mon, 15 Jun 2015 14:05:00 -0700 |
| |
On Mon, 2015-06-15 at 16:26 +0530, Sreekanth Reddy wrote: > On Sat, Jun 13, 2015 at 2:33 AM, Joe Lawrence <joe.lawrence@stratus.com> wrote: > > On 06/12/2015 05:42 AM, Sreekanth Reddy wrote: > > ... > >> +#if defined(alloc_ordered_workqueue) > >> + ioc->firmware_event_thread = alloc_ordered_workqueue( > >> + ioc->firmware_event_name, WQ_MEM_RECLAIM); > >> +#else > >> + ioc->firmware_event_thread = create_singlethread_workqueue( > >> ioc->firmware_event_name); > >> +#endif > > > > Hi Sreekanth, > > > > I think the upstream version of this code can safely assume > > alloc_ordered_workqueue is defined, no? > > yes, upstream version of this code can safely assume that > alloc_ordered_workqueue is defined. > > While working in-house, I observed that some of the older kernels > doesn't defined this macro, so I have added this else section.
The driver has to be defined for the current kernel. If you maintain a backport, that's fine, but not in the upstream driver. The reasons are fairly pragmatic: this code in the #else clause can't be compiled so it's just junk to the upstream driver and the static checkers will find it and you'll attract a flock of patches removing dead code.
James
| |