summaryrefslogtreecommitdiff
path: root/fs/smb/client
AgeCommit message (Collapse)AuthorFilesLines
2023-06-02smb/client: allow binding to multiple local interfacescpu_affinityEnzo Matsumiya5-9/+206
WIP Signed-off-by: Enzo Matsumiya <ematsumiya@suse.de>
2023-05-30smb/client: introduce cpu_policy={nearest,affine}Enzo Matsumiya11-14/+106
This commit introduces the cpu_policy= mount option. The 2 possible values for this option are "nearest" and "affine". If "cpu_policy=nearest" is passed (or "cpu_policy=" not passed at all, or an invalid value passed to it), the cifsd kernel thread will run just as before, where, internally, kthread_run() will let the scheduler select the best CPU it sees fit. For "cpu_policy=affine", a global variable "cifsd_rr_last_cpu" tracks the last used CPU by a started cifsd thread, and it's incremented each time a new cifsd thread is about to start, so it gets run on a different CPU, on a round-robin manner. Since cifsd is started for each non-shared TCP_Server_Info (i.e. connection to different server or adding a new channel for an existing connection). For small workloads this shouldn't make much difference, or at all. For big workloads, on servers with lots of CPU, and/or with multichannel enabled, the performance improvements starts to show, as we maintain now the whole message flow (from request creation to response processing) within a single CPU (all workqueues are scheduled to run on the same CPU as their TCP_Server_Info::tsk), allowing any data cached when sending to be a cache-hit on receiving, thus increasing performance. Signed-off-by: Enzo Matsumiya <ematsumiya@suse.de>
2023-05-25smb3: missing null check in SMB2_change_notifySteve French1-1/+1
If plen is null when passed in, we only checked for null in one of the two places where it could be used. Although plen is always valid (not null) for current callers of the SMB2_change_notify function, this change makes it more consistent. Reported-by: kernel test robot <lkp@intel.com> Reported-by: Dan Carpenter <error27@gmail.com> Closes: https://lore.kernel.org/all/202305251831.3V1gbbFs-lkp@intel.com/ Signed-off-by: Steve French <stfrench@microsoft.com>
2023-05-24smb: move client and server files to common directory fs/smbSteve French77-0/+75793
Move CIFS/SMB3 related client and server files (cifs.ko and ksmbd.ko and helper modules) to new fs/smb subdirectory: fs/cifs --> fs/smb/client fs/ksmbd --> fs/smb/server fs/smbfs_common --> fs/smb/common Suggested-by: Linus Torvalds <torvalds@linux-foundation.org> Acked-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com>